import { TenantAwareDBClient } from '../../app-providers/tenant-db-client.js';
import { AuditLogsProvider } from '../../common/providers/audit-logs.provider.js';
import { AuthContextProvider } from './auth-context.provider.js';
export type ApiKeyRecord = {
    id: string;
    name: string;
    roleId: string;
    lastUsedAt: Date | null;
    createdAt: Date;
};
export declare class ApiKeysProvider {
    private db;
    private authContextProvider;
    private auditLogsProvider;
    constructor(db: TenantAwareDBClient, authContextProvider: AuthContextProvider, auditLogsProvider: AuditLogsProvider);
    generateApiKey(name: string, roleId: string): Promise<{
        apiKey: string;
        record: ApiKeyRecord;
    }>;
    listApiKeys(): Promise<ApiKeyRecord[]>;
    revokeApiKey(id: string): Promise<boolean>;
    private requireBusinessOwner;
}
