import type { DatabaseSessionStoreAdapterEntity, SessionStoreAdapter } from '../../types/interfaces';
import { Repository } from 'typeorm';
import type { DatabaseContainer } from '../../database/DatabaseContainer';
import type { DatabaseSessionStoreAdapterEntityClass } from '../../types/types';
import type { SecurityProviderOptions } from '../SecurityProviderOptions';
export declare class DatabaseSessionStoreAdapter implements SessionStoreAdapter {
    protected readonly repository: Repository<DatabaseSessionStoreAdapterEntity>;
    protected readonly entity: DatabaseSessionStoreAdapterEntityClass;
    protected readonly expire: number;
    constructor(databaseContainer: DatabaseContainer, providerOptions: SecurityProviderOptions);
    create(sessionId: string): Promise<void>;
    load(sessionId: string): Promise<Record<string, unknown>>;
    persist(sessionId: string, data: Record<string, unknown>): Promise<void>;
    remove(sessionId: string): Promise<void>;
    has(sessionId: string): Promise<boolean>;
    protected getRecord(sessionId: string): Promise<DatabaseSessionStoreAdapterEntity>;
}
