import { OID4VCICredentialFormat, RequestObjectOpts } from '@sphereon/oid4vci-common';
import { IIdentifierOpts } from '@sphereon/ssi-sdk-ext.did-utils';
import { IssuanceOpts, PrepareStartArgs } from '@sphereon/ssi-sdk.oid4vci-holder';
import { IIdentifier } from '@veramo/core';
import { _ExtendedIKey } from '@veramo/utils';
import { IRequiredContext } from '../types/IEBSIAuthorizationClient';
export interface AttestationAuthRequestUrlResult extends Omit<Required<PrepareStartArgs>, 'issuanceOpt'> {
    issuanceOpt?: IssuanceOpts;
    authorizationCodeURL: string;
    identifier: IIdentifier;
    authKey: _ExtendedIKey;
}
/**
 * Method to generate an authz url for getting attestation credentials from a (R)TAO on EBSI using a cloud/service wallet
 *
 * This method can be used standalone. But it can also be used as input for the `oid4vciHolderStart` agent method,
 * to start a OID4VCI holder flow.
 *
 * @param opts
 * @param context
 */
export declare const ebsiCreateAttestationAuthRequestURL: (opts: {
    credentialIssuer: string;
    credentialType: string;
    idOpts: IIdentifierOpts;
    requestObjectOpts: RequestObjectOpts;
    clientId?: string;
    redirectUri?: string;
    formats?: Array<Extract<OID4VCICredentialFormat, 'jwt_vc' | 'jwt_vc_json'>>;
}, context: IRequiredContext) => Promise<AttestationAuthRequestUrlResult>;
/**
 * Normally you would use the browser to let the user make this call in the front channel,
 * however EBSI mainly uses mocks at present, and we want to be able to test as well
 */
export declare const ebsiAuthRequestExecution: (authRequestResult: AttestationAuthRequestUrlResult, opts?: {}) => Promise<void>;
//# sourceMappingURL=Attestation.d.ts.map