import { CredentialFormat } from '@sphereon/ssi-types';
import { CredentialRequestClientBuilder } from './CredentialRequestClientBuilder';
import { ProofOfPossessionBuilder } from './ProofOfPossessionBuilder';
import { CredentialRequest, CredentialResponse, OpenIDResponse, ProofOfPossession } from './types';
export declare class CredentialRequestClient {
    _issuanceRequestOpts: Partial<{
        credentialEndpoint: string;
        credentialType: string | string[];
        format: CredentialFormat | CredentialFormat[];
        proof: ProofOfPossession;
        token: string;
    }>;
    getCredentialEndpoint(): string;
    constructor(builder: CredentialRequestClientBuilder);
    acquireCredentialsUsingProof({ proofInput, credentialType, format, }: {
        proofInput: ProofOfPossessionBuilder | ProofOfPossession;
        credentialType?: string | string[];
        format?: CredentialFormat | CredentialFormat[];
    }): Promise<OpenIDResponse<CredentialResponse>>;
    acquireCredentialsUsingRequest(request: CredentialRequest): Promise<OpenIDResponse<CredentialResponse>>;
    createCredentialRequest({ proofInput, credentialType, format, }: {
        proofInput: ProofOfPossessionBuilder | ProofOfPossession;
        credentialType?: string | string[];
        format?: CredentialFormat | CredentialFormat[];
    }): Promise<CredentialRequest>;
}
