export interface K8sCredentials {
    token: string;
    leaseId: string;
    leaseDuration: number;
}
export type TokenReader = (path: string, encoding: BufferEncoding) => string;
export declare class OpenBaoClient {
    private readonly addr;
    private readonly readToken;
    constructor(addr: string, tokenReader?: TokenReader);
    /**
     * Authenticates with OpenBao using the Kubernetes auth method.
     * Reads the service account token from the pod's mounted secret.
     * Returns the vault client token on success.
     */
    authenticate(): Promise<string>;
    /**
     * Retrieves a short-lived Kubernetes token from OpenBao.
     * Authenticates first to obtain a vault token.
     */
    getK8sToken(): Promise<K8sCredentials>;
    /**
     * Revokes a lease in OpenBao, invalidating the associated token.
     */
    revokeLease(leaseId: string): Promise<void>;
    /**
     * Renews a lease in OpenBao, extending the TTL of the associated token.
     */
    renewLease(leaseId: string): Promise<void>;
}
//# sourceMappingURL=openbao.d.ts.map