import { AuthsignalConstructor, GetActionRequest, GetActionResponse, GetChallengeRequest, GetChallengeResponse, DeleteAuthenticatorRequest, EnrollVerifiedAuthenticatorRequest, EnrollVerifiedAuthenticatorResponse, TrackRequest, TrackResponse, UpdateActionRequest, UpdateUserRequest, UserAuthenticator, GetUserRequest, GetUserResponse, ValidateChallengeRequest, ValidateChallengeResponse, UserAttributes, DeleteUserRequest, GetAuthenticatorsRequest, ActionAttributes, QueryUsersRequest, QueryUsersResponse, QueryUserActionsRequest, QueryUserActionsResponse, ClaimChallengeRequest, ClaimChallengeResponse, ChallengeRequest, ChallengeResponse, VerifyRequest, VerifyResponse, CreateSessionRequest, CreateSessionResponse, ValidateSessionRequest, ValidateSessionResponse, RefreshSessionRequest, RefreshSessionResponse, RevokeSessionRequest, RevokeUserSessionsRequest } from "./types";
import { Webhook } from "./webhook";
export declare class Authsignal {
    apiSecretKey: string;
    apiUrl: string;
    webhook: Webhook;
    constructor({ apiSecretKey, apiUrl, retries }: AuthsignalConstructor);
    getUser(request: GetUserRequest): Promise<GetUserResponse>;
    queryUsers(request: QueryUsersRequest): Promise<QueryUsersResponse>;
    updateUser(request: UpdateUserRequest): Promise<UserAttributes>;
    deleteUser(request: DeleteUserRequest): Promise<void>;
    getAuthenticators(request: GetAuthenticatorsRequest): Promise<UserAuthenticator[]>;
    enrollVerifiedAuthenticator(request: EnrollVerifiedAuthenticatorRequest): Promise<EnrollVerifiedAuthenticatorResponse>;
    deleteAuthenticator(request: DeleteAuthenticatorRequest): Promise<void>;
    track(request: TrackRequest): Promise<TrackResponse>;
    validateChallenge(request: ValidateChallengeRequest): Promise<ValidateChallengeResponse>;
    claimChallenge(request: ClaimChallengeRequest): Promise<ClaimChallengeResponse>;
    getAction(request: GetActionRequest): Promise<GetActionResponse>;
    queryUserActions(request: QueryUserActionsRequest): Promise<QueryUserActionsResponse>;
    updateAction(request: UpdateActionRequest): Promise<ActionAttributes>;
    challenge(request: ChallengeRequest): Promise<ChallengeResponse>;
    verify(request: VerifyRequest): Promise<VerifyResponse>;
    getChallenge(request: GetChallengeRequest): Promise<GetChallengeResponse>;
    createSession(request: CreateSessionRequest): Promise<CreateSessionResponse>;
    validateSession(request: ValidateSessionRequest): Promise<ValidateSessionResponse>;
    refreshSession(request: RefreshSessionRequest): Promise<RefreshSessionResponse>;
    revokeSession(request: RevokeSessionRequest): Promise<void>;
    revokeUserSessions(request: RevokeUserSessionsRequest): Promise<void>;
    private getRequestConfig;
}
