import type { FixedInstanceType, LoggingLevels } from "#utils"; import type Document from "#common/abstract/document.d.mts"; import type { DatabaseGetOperation, DatabaseUpdateOperation, DatabaseDeleteOperation, } from "#common/abstract/_types.d.mts"; import Game = foundry.Game; /** * The client-side database backend implementation which handles Document modification operations. */ declare class ClientDatabaseBackend extends foundry.abstract.DatabaseBackend { protected override _getDocuments( documentClass: T, request: DatabaseGetOperation, user: User.Implementation, ): Promise[]>; protected override _createDocuments( documentClass: T, operation: Document.Database.CreateOperationForName, user: User.Implementation, ): Promise[]>; protected override _updateDocuments( documentClass: T, request: DatabaseUpdateOperation>, user: User.Implementation, ): Promise[]>; protected override _deleteDocuments( documentClass: T, request: DatabaseDeleteOperation, user: User.Implementation, ): Promise[]>; /** * Activate the Socket event listeners used to receive responses from events which modify database documents * @param socket - The active game socket */ activateSocketListeners(socket: Game["socket"]): void; override getFlagScopes(): string[]; override getCompendiumScopes(): string[]; protected override _log(level: LoggingLevels, message: string): void; } export default ClientDatabaseBackend;