import { GenericAuthArgs, ISingleEndpointOpts } from '@sphereon/ssi-express-support';
import { IPresentationExchange } from '@sphereon/ssi-sdk.presentation-exchange';
import { ISIOPv2RP } from '@sphereon/ssi-sdk.siopv2-oid4vp-rp-auth';
import { IAgentContext, ICredentialVerifier } from '@veramo/core';
import { IPDManager } from '@sphereon/ssi-sdk.pd-manager';
import { QRCodeOpts } from './QRCode.types';
export type SiopFeatures = 'rp-status' | 'siop';
export interface ISIOPv2RPRestAPIOpts {
    enableFeatures?: SiopFeatures[];
    endpointOpts?: {
        basePath?: string;
        trustProxy?: boolean | Array<string>;
        globalAuth?: GenericAuthArgs & {
            secureSiopEndpoints?: boolean;
        };
        webappCreateAuthRequest?: ICreateAuthRequestWebappEndpointOpts;
        webappDeleteAuthRequest?: ISingleEndpointOpts;
        webappGetDefinitions?: ISingleEndpointOpts;
        webappAuthStatus?: ISingleEndpointOpts;
        siopVerifyAuthResponse?: ISingleEndpointOpts;
        siopGetAuthRequest?: ISingleEndpointOpts;
    };
}
export interface ICreateAuthRequestWebappEndpointOpts extends ISingleEndpointOpts {
    siopBaseURI?: string;
    qrCodeOpts?: QRCodeOpts;
    webappAuthStatusPath?: string;
    webappBaseURI?: string;
    responseRedirectURI?: string;
}
export type IRequiredPlugins = ICredentialVerifier & ISIOPv2RP & IPresentationExchange & IPDManager;
export type IRequiredContext = IAgentContext<IRequiredPlugins>;
//# sourceMappingURL=types.d.ts.map