// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. import type {Database} from '@nozbe/watermelondb'; import type {AppDatabase, ServerDatabase, ServerDatabases} from '@typings/database/database'; export type DatabaseManager = { serverDatabases: ServerDatabases; updateServerIdentifier: (serverUrl: string, identifier: string, displayName?: string) => Promise; updateServerDisplayName: (serverUrl: string, displayName: string) => Promise; isServerPresent: (serverUrl: string) => Promise; getActiveServerUrl: () => Promise; getActiveServerDisplayName: () => Promise; getServerUrlFromIdentifier: (identifier: string) => Promise; getActiveServerDatabase: () => Promise; getAppDatabaseAndOperator: () => AppDatabase|undefined; getServerDatabaseAndOperator: (serverUrl: string) => ServerDatabase | undefined; setActiveServerDatabase: (serverUrl: string) => Promise; deleteServerDatabase: (serverUrl: string) => Promise; destroyServerDatabase: (serverUrl: string) => Promise; deleteServerDatabaseFiles: (serverUrl: string) => Promise; deleteServerDatabaseFilesByName: (databaseName: string) => Promise; renameDatabase: (databaseName: string, newDBName: string) => Promise; factoryReset: (shouldRemoveDirectory: boolean) => Promise; getDatabaseFilePath: (dbName: string) => string; searchUrl: (toFind: string) => string | undefined; }