import Auth0, { Factor } from "../../types";
export interface PostChallengeOptions {
    user?: Auth0.User;
    cache?: Record<string, string>;
    now?: ConstructorParameters<typeof Date>[0];
    request?: Auth0.Request;
}
interface FactorList {
    allOptions: Factor[];
    default: Factor | undefined;
}
export interface PostChallengeState {
    user: Auth0.User;
    cache: Auth0.API.Cache;
    access: {
        denied: false;
    } | {
        denied: {
            reason: string;
        };
    };
    authentication: {
        challenge: FactorList | false;
        enrollment: FactorList | false;
        newlyRecordedMethods: string[];
    };
    redirect: {
        url: URL;
        queryParams: Record<string, string>;
    } | null;
}
export declare function postChallenge({ user, request, cache, now: nowValue, }?: PostChallengeOptions): {
    implementation: Auth0.API.PostChallenge;
    state: PostChallengeState;
};
export {};
//# sourceMappingURL=post-challenge.d.ts.map