import { SyncOptions } from './../Sync/SyncOptions' import { ImportDataReturnType } from './../Mutator/ImportDataUseCase' import { ChallengeServiceInterface } from './../Challenge/ChallengeServiceInterface' import { VaultServiceInterface } from './../Vaults/VaultServiceInterface' import { ApplicationIdentifier, ContentType } from '@standardnotes/common' import { BackupFile, DecryptedItemInterface, DecryptedItemMutator, ItemStream, PayloadEmitSource, Platform, PrefKey, PrefValue, } from '@standardnotes/models' import { BackupServiceInterface, FilesClientInterface } from '@standardnotes/files' import { AlertService } from '../Alert/AlertService' import { ComponentManagerInterface } from '../Component/ComponentManagerInterface' import { ApplicationEvent } from '../Event/ApplicationEvent' import { ApplicationEventCallback } from '../Event/ApplicationEventCallback' import { FeaturesClientInterface } from '../Feature/FeaturesClientInterface' import { SubscriptionClientInterface } from '../Subscription/SubscriptionClientInterface' import { DeviceInterface } from '../Device/DeviceInterface' import { ItemManagerInterface } from '../Item/ItemManagerInterface' import { MutatorClientInterface } from '../Mutator/MutatorClientInterface' import { StorageValueModes } from '../Storage/StorageTypes' import { DeinitMode } from './DeinitMode' import { DeinitSource } from './DeinitSource' import { UserClientInterface } from '../User/UserClientInterface' import { SessionsClientInterface } from '../Session/SessionsClientInterface' export interface ApplicationInterface { deinit(mode: DeinitMode, source: DeinitSource): void getDeinitMode(): DeinitMode isStarted(): boolean isLaunched(): boolean addEventObserver(callback: ApplicationEventCallback, singleEvent?: ApplicationEvent): () => void addSingleEventObserver(event: ApplicationEvent, callback: ApplicationEventCallback): () => void hasProtectionSources(): boolean createEncryptedBackupFileForAutomatedDesktopBackups(): Promise createEncryptedBackupFile(): Promise createDecryptedBackupFile(): Promise hasPasscode(): boolean lock(): Promise softLockBiometrics(): void setValue(key: string, value: unknown, mode?: StorageValueModes): void getValue(key: string, mode?: StorageValueModes): T removeValue(key: string, mode?: StorageValueModes): Promise isLocked(): Promise getPreference(key: K): PrefValue[K] | undefined getPreference(key: K, defaultValue: PrefValue[K]): PrefValue[K] getPreference(key: K, defaultValue?: PrefValue[K]): PrefValue[K] | undefined setPreference(key: K, value: PrefValue[K]): Promise streamItems( contentType: ContentType | ContentType[], stream: ItemStream, ): () => void hasAccount(): boolean importData(data: BackupFile, awaitSync?: boolean): Promise /** * Mutates a pre-existing item, marks it as dirty, and syncs it */ changeAndSaveItem( itemToLookupUuidFor: DecryptedItemInterface, mutate: (mutator: M) => void, updateTimestamps?: boolean, emitSource?: PayloadEmitSource, syncOptions?: SyncOptions, ): Promise /** * Mutates pre-existing items, marks them as dirty, and syncs */ changeAndSaveItems( itemsToLookupUuidsFor: DecryptedItemInterface[], mutate: (mutator: M) => void, updateTimestamps?: boolean, emitSource?: PayloadEmitSource, syncOptions?: SyncOptions, ): Promise get features(): FeaturesClientInterface get componentManager(): ComponentManagerInterface get items(): ItemManagerInterface get mutator(): MutatorClientInterface get user(): UserClientInterface get files(): FilesClientInterface get subscriptions(): SubscriptionClientInterface get fileBackups(): BackupServiceInterface | undefined get sessions(): SessionsClientInterface get vaults(): VaultServiceInterface get challenges(): ChallengeServiceInterface get alerts(): AlertService readonly identifier: ApplicationIdentifier readonly platform: Platform deviceInterface: DeviceInterface alertService: AlertService }