import type { IChallengeAssessRequest, IChallengeDecision, IChallengeProvider, IChallengeProviderManifest, IChallengeRenderRequest, IChallengeRenderResponse, IChallengeType, IChallengeVerifyRequest, IChallengeVerifyResult } from './interfaces.js'; export interface ISmartChallengeProviderOptions { providerId?: string; label?: string; description?: string; challengeTypes?: IChallengeType[]; } export declare class SmartChallengeProvider implements IChallengeProvider { readonly providerId: string; private readonly label; private readonly description?; private challengeTypes; constructor(optionsArg?: ISmartChallengeProviderOptions); registerChallengeType(challengeTypeArg: IChallengeType): void; getChallengeType(challengeTypeArg: string): IChallengeType | undefined; getManifest(): Promise; assess(requestArg: IChallengeAssessRequest): Promise; render(requestArg: IChallengeRenderRequest): Promise; verify(requestArg: IChallengeVerifyRequest): Promise; private getRequiredChallengeType; }