import { AccessTokenResponse, Alg, EndpointMetadata, Jwt, ProofOfPossession, ProofOfPossessionCallbacks } from './types';
export declare class ProofOfPossessionBuilder {
    private readonly proof?;
    private readonly callbacks?;
    private kid;
    private clientId?;
    private issuer?;
    private jwt?;
    private alg?;
    private jti?;
    private cNonce?;
    private constructor();
    static fromJwt({ jwt, callbacks }: {
        jwt: Jwt;
        callbacks: ProofOfPossessionCallbacks;
    }): ProofOfPossessionBuilder;
    static fromAccessTokenResponse({ accessTokenResponse, callbacks, }: {
        accessTokenResponse: AccessTokenResponse;
        callbacks: ProofOfPossessionCallbacks;
    }): ProofOfPossessionBuilder;
    static fromProof(proof: ProofOfPossession): ProofOfPossessionBuilder;
    withClientId(clientId: string): ProofOfPossessionBuilder;
    withKid(kid: string): ProofOfPossessionBuilder;
    withIssuer(issuer: string): ProofOfPossessionBuilder;
    withAlg(alg: Alg | string): ProofOfPossessionBuilder;
    withJti(jti: string): ProofOfPossessionBuilder;
    withAccessTokenNonce(cNonce: string): ProofOfPossessionBuilder;
    withAccessTokenResponse(accessToken: AccessTokenResponse): ProofOfPossessionBuilder;
    withEndpointMetadata(endpointMetadata: EndpointMetadata): ProofOfPossessionBuilder;
    withJwt(jwt: Jwt): ProofOfPossessionBuilder;
    build(): Promise<ProofOfPossession>;
}
