import type { EdgeClient, IEdgeTokenStore } from '../../types/stores/edge-store.js';
import type { Db } from '../../db/db.js';
import type EventEmitter from 'events';
import { type IApiToken, type IUnleashConfig } from '../../types/index.js';
export declare class EdgeTokenStore implements IEdgeTokenStore {
    private db;
    private readonly timer;
    constructor(db: Db, eventBus: EventEmitter, { getLogger }: Pick<IUnleashConfig, 'getLogger'>);
    registerNonce(clientId: string, nonce: string, expiresAt: Date): Promise<void>;
    saveToken(clientId: string, apiToken: IApiToken): Promise<void>;
    getToken(clientId: string, environment: string, projects: string[]): Promise<IApiToken | undefined>;
    loadClient(clientId: string): Promise<EdgeClient | undefined>;
    saveClient(clientId: string, secretEnc: Buffer): Promise<void>;
    cleanExpiredNonces(): Promise<void>;
    delete(tokenValue: string): Promise<void>;
    deleteAll(): Promise<void>;
}
//# sourceMappingURL=edge-token-store.d.ts.map