export type TokenReader = (path: string, encoding: BufferEncoding) => string;
export interface OpenBaoTransitClientOptions {
    addr: string;
    role: string;
    keyNamePrefix?: string;
    tokenReader?: TokenReader;
}
export declare class OpenBaoTransitClient {
    private readonly addr;
    private readonly role;
    private readonly keyNamePrefix;
    private readonly readToken;
    private tokenCache;
    constructor(opts: OpenBaoTransitClientOptions);
    keyFor(tenantId: string): string;
    ensureTenantKey(tenantId: string): Promise<void>;
    encrypt(tenantId: string, plaintext: string): Promise<string>;
    decrypt(tenantId: string, ciphertext: string): Promise<string>;
    authenticate(): Promise<string>;
    private getToken;
}
//# sourceMappingURL=openbao-transit.d.ts.map