@league-of-foundry-developers/foundry-vtt-types
Version:
TypeScript type definitions for Foundry VTT
52 lines (42 loc) • 1.76 kB
text/typescript
import type { FixedInstanceType, LoggingLevels } from "#utils";
import type Document from "../../common/abstract/document.d.mts";
import type {
DatabaseGetOperation,
DatabaseCreateOperation,
DatabaseUpdateOperation,
DatabaseDeleteOperation,
} from "../../common/abstract/_types.d.mts";
/**
* 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,
request: DatabaseCreateOperation<FixedInstanceType<T>>,
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;