import { AuthsignalConstructor } from "./types";
export declare class CallConnect {
    apiSecretKey: string;
    apiUrl: string;
    constructor({ apiSecretKey, apiUrl, retries }: AuthsignalConstructor);
    startCall(request: StartCallRequest): Promise<StartCallResponse>;
    finishCall(request: FinishCallRequest): Promise<FinishCallResponse>;
    private getRequestConfig;
}
export type StartCallRequest = {
    referenceId: string;
    phoneNumber?: string;
    country?: string;
    userId?: string;
    username?: string;
    channel?: CallConnectMessageChannel;
    email?: string;
    locale?: string;
    actionCode?: string;
};
export type StartCallResponse = {
    messageId?: string;
    channel?: CallConnectMessageChannel;
    phoneNumber?: string;
    email?: string;
    error?: string;
    errorCode?: string;
    errorDescription?: string;
};
export declare enum CallConnectMessageChannel {
    "WHATSAPP" = "WHATSAPP",
    "SMS" = "SMS",
    "EMAIL" = "EMAIL"
}
export type FinishCallRequest = {
    referenceId: string;
    state: CallState;
    userId?: string;
    payload?: Record<string, unknown>;
};
export type FinishCallResponse = {
    success: boolean;
};
export declare enum CallState {
    "CHALLENGE_SUCCEEDED" = "CHALLENGE_SUCCEEDED",
    "CHALLENGE_FAILED" = "CHALLENGE_FAILED"
}
