import sqlite from "node:sqlite"; import type { ClientId } from "../../mqttPacket/types.ts"; /** * Instantiates the physical relational structures and schemas required by the persistence engine. * @param filename Filepath location or memory target specifier. */ export declare function initializeDatabase(filename: string): sqlite.DatabaseSync; export type AllStatements = { saveSession: sqlite.StatementSync; getSession: sqlite.StatementSync; listAllSessions: sqlite.StatementSync; saveSubscription: sqlite.StatementSync; deleteSubscription: sqlite.StatementSync; listSubscriptions: sqlite.StatementSync; listAllSubscriptions: sqlite.StatementSync; saveIncoming: sqlite.StatementSync; getIncoming: sqlite.StatementSync; updateIncomingDup: sqlite.StatementSync; deleteIncoming: sqlite.StatementSync; listIncoming: sqlite.StatementSync; saveOutgoing: sqlite.StatementSync; getOutgoing: sqlite.StatementSync; updateOutgoingDup: sqlite.StatementSync; deleteOutgoing: sqlite.StatementSync; listOutgoing: sqlite.StatementSync; saveAck: sqlite.StatementSync; hasAck: sqlite.StatementSync; deleteAck: sqlite.StatementSync; listAcks: sqlite.StatementSync; saveRetained: sqlite.StatementSync; deleteRetained: sqlite.StatementSync; getRetainedExact: sqlite.StatementSync; listRetainedLike: sqlite.StatementSync; }; /** * Instantiates the physical relational structures and schemas required by the persistence engine. * @param db the database for which to prepare the statements */ export declare function prepareAllStatements(db: sqlite.DatabaseSync): AllStatements; /** * Truncates and drops relational state assignments under targeted clients inside atomic scopes. * @param db Connection reference context. * @param clientId Specific target client ID tracking token. */ export declare function deleteClientState(db: sqlite.DatabaseSync, clientId: ClientId): void; //# sourceMappingURL=sqliteDatabase.d.ts.map