import type { MySQLPoolLike } from './mysql';
export interface SharedMySQLSessionManagerConfig {
    port: number;
    token: string;
}
export interface SharedMySQLSessionDatabaseOptions {
    key: string;
    prefix: string;
    keepDatabase: boolean;
}
export interface SharedMySQLSessionDatabase {
    databaseName: string;
    leaseId: string;
}
export interface SharedMySQLSessionSchemaPreparation {
    run: boolean;
    preparationId?: string;
}
export declare function getSharedMySQLSessionManagerConfig(): SharedMySQLSessionManagerConfig | undefined;
export declare function ensureSharedMySQLSessionDatabase(options: SharedMySQLSessionDatabaseOptions): Promise<SharedMySQLSessionDatabase>;
export declare function releaseSharedMySQLSessionDatabase(key: string, leaseId: string | undefined): Promise<void>;
export declare function prepareSharedMySQLSessionSchema(key: string, leaseId?: string): Promise<SharedMySQLSessionSchemaPreparation>;
export declare function completeSharedMySQLSessionSchema(key: string, leaseId: string | undefined, preparationId: string | undefined, error?: unknown): Promise<void>;
export declare function createSharedMySQLSessionPool(key: string, clientId?: string, leaseId?: string | undefined): MySQLPoolLike;
//# sourceMappingURL=mysql-session.d.ts.map