import { DatabaseService, LoggerService } from '@backstage/backend-plugin-api';
import { HumanDuration } from '@backstage/types';
import { JWK } from 'jose';
import { KeyPayload, KeyStore } from './types';
import { PluginKeySource } from './types';
export declare class DatabasePluginKeySource implements PluginKeySource {
    private readonly keyStore;
    private readonly logger;
    private readonly keyDurationSeconds;
    private readonly algorithm;
    private privateKeyPromise?;
    private keyExpiry?;
    constructor(keyStore: KeyStore, logger: LoggerService, keyDurationSeconds: number, algorithm: string);
    static create(options: {
        logger: LoggerService;
        database: DatabaseService;
        keyDuration: HumanDuration;
        algorithm?: string;
    }): Promise<PluginKeySource>;
    getPrivateSigningKey(): Promise<JWK>;
    listKeys(): Promise<{
        keys: KeyPayload[];
    }>;
}
