import { AuthorizationServerMetadata, ClientMetadata, CNonceState, CreateCredentialOfferURIResult, CredentialDataSupplierInput, CredentialIssuerMetadataOptsV1_0_13, CredentialOfferMode, CredentialOfferSession, CredentialRequest, CredentialResponse, IStateManager, JsonLdIssuerCredentialDefinition, JWTVerifyCallback, NotificationRequest, QRCodeOpts, StatusListOpts, TxCode, URIState } from '@sphereon/oid4vci-common';
import { CredentialOfferGrantInput } from './functions';
import { CredentialDataSupplier, CredentialIssuanceInput, CredentialSignerCallback } from './types';
export declare class VcIssuer {
    private readonly _issuerMetadata;
    private readonly _authorizationServerMetadata;
    private readonly _defaultCredentialOfferBaseUri?;
    private readonly _credentialSignerCallback?;
    private readonly _jwtVerifyCallback?;
    private readonly _credentialDataSupplier?;
    private readonly _credentialOfferSessions;
    private readonly _cNonces;
    private readonly _uris;
    private readonly _cNonceExpiresIn;
    private readonly _asClientOpts?;
    constructor(issuerMetadata: CredentialIssuerMetadataOptsV1_0_13, authorizationServerMetadata: AuthorizationServerMetadata, args: {
        txCode?: TxCode;
        baseUri?: string;
        credentialOfferSessions: IStateManager<CredentialOfferSession>;
        defaultCredentialOfferBaseUri?: string;
        cNonces: IStateManager<CNonceState>;
        uris?: IStateManager<URIState>;
        credentialSignerCallback?: CredentialSignerCallback;
        jwtVerifyCallback?: JWTVerifyCallback;
        credentialDataSupplier?: CredentialDataSupplier;
        cNonceExpiresIn?: number | undefined;
        asClientOpts?: ClientMetadata;
    });
    getCredentialOfferSessionById(id: string, lookups?: Array<'uri' | 'preAuthorizedCode' | 'issuerState' | 'correlationId'>): Promise<CredentialOfferSession>;
    deleteCredentialOfferSessionById(id: string, lookups?: Array<'uri' | 'preAuthorizedCode' | 'issuerState' | 'correlationId'>): Promise<CredentialOfferSession>;
    processNotification({ preAuthorizedCode, issuerState, notification, }: {
        preAuthorizedCode?: string;
        issuerState?: string;
        notification: NotificationRequest;
    }): Promise<Error | CredentialOfferSession>;
    createCredentialOfferURI(opts: {
        offerMode?: CredentialOfferMode;
        grants?: CredentialOfferGrantInput;
        client_id?: string;
        redirectUri?: string;
        credential_configuration_ids?: Array<string>;
        credentialDefinition?: JsonLdIssuerCredentialDefinition;
        credentialOfferUri?: string;
        credentialDataSupplierInput?: CredentialDataSupplierInput;
        baseUri?: string;
        scheme?: string;
        pinLength?: number;
        qrCodeOpts?: QRCodeOpts;
        correlationId?: string;
        statusListOpts?: Array<StatusListOpts>;
        sessionLifeTimeInSec?: number;
    }): Promise<CreateCredentialOfferURIResult>;
    /**
     * issueCredentialFromIssueRequest
     * @param opts issuerRequestParams
     *  - issueCredentialsRequest the credential request
     *  - issuerState the state of the issuer
     *  - jwtVerifyCallback callback that verifies the Proof of Possession JWT
     *  - issuerCallback callback to issue a Verifiable Credential
     *  - cNonce an existing c_nonce
     */
    issueCredential(opts: {
        credentialRequest: CredentialRequest;
        credential?: CredentialIssuanceInput;
        credentialDataSupplier?: CredentialDataSupplier;
        credentialDataSupplierInput?: CredentialDataSupplierInput;
        newCNonce?: string;
        cNonceExpiresIn?: number;
        tokenExpiresIn?: number;
        jwtVerifyCallback?: JWTVerifyCallback;
        credentialSignerCallback?: CredentialSignerCallback;
        responseCNonce?: string;
    }): Promise<CredentialResponse>;
    private updateSession;
    private validateCredentialRequestProof;
    private isMetadataSupportCredentialRequestFormat;
    private issueCredentialImpl;
    get credentialSignerCallback(): CredentialSignerCallback | undefined;
    get jwtVerifyCallback(): JWTVerifyCallback | undefined;
    get credentialDataSupplier(): CredentialDataSupplier | undefined;
    get uris(): IStateManager<URIState>;
    get cNonceExpiresIn(): number;
    get credentialOfferSessions(): IStateManager<CredentialOfferSession>;
    get cNonces(): IStateManager<CNonceState>;
    get defaultCredentialOfferBaseUri(): string | undefined;
    get issuerMetadata(): CredentialIssuerMetadataOptsV1_0_13;
    get authorizationServerMetadata(): AuthorizationServerMetadata;
    get asClientOpts(): ClientMetadata | undefined;
}
//# sourceMappingURL=VcIssuer.d.ts.map