fvtt-types
Version:
TypeScript type definitions for Foundry VTT
53 lines (42 loc) • 1.79 kB
text/typescript
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<T extends Document.AnyConstructor>(
documentClass: T,
request: DatabaseGetOperation,
user: User.Implementation,
): Promise<FixedInstanceType<T>[]>;
protected override _createDocuments<T extends Document.AnyConstructor>(
documentClass: T,
operation: Document.Database.CreateOperationForName<T["documentName"], boolean | undefined>,
user: User.Implementation,
): Promise<FixedInstanceType<T>[]>;
protected override _updateDocuments<T extends Document.AnyConstructor>(
documentClass: T,
request: DatabaseUpdateOperation<FixedInstanceType<T>>,
user: User.Implementation,
): Promise<FixedInstanceType<T>[]>;
protected override _deleteDocuments<T extends Document.AnyConstructor>(
documentClass: T,
request: DatabaseDeleteOperation,
user: User.Implementation,
): Promise<FixedInstanceType<T>[]>;
/**
* 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;