export declare class HttpError extends Error {
    path: string;
    response: {
        headers: object;
        status: number;
        json?: object;
        html?: string;
        text?: string;
    };
    code?: number;
    line?: number;
    column?: number;
    sourceURL?: string;
    constructor(httpError: HttpError);
}
export declare class CommunicationError extends Error {
    exception: {
        response: string;
        name: string;
        status: number;
        message: string;
    };
    constructor(communicationError: CommunicationError);
}
export declare class SdkError extends Error {
    code: SdkErrors;
    constructor(message: string);
}
export declare function createSdkError(message: string, code?: SdkErrors): SdkError;
export declare function throwError(message: string, code?: SdkErrors): never;
declare enum SdkErrors {
    AccountDoesntExist = "AccountDoesntExist",
    AccountNotFound = "AccountNotFound",
    AccountServiceError = "AccountServiceError",
    CommunicationNotConnected = "CommunicationNotConnected",
    CommunicationNotLoggedIn = "CommunicationNotLoggedIn",
    CommunicationTimeout = "CommunicationTimeout",
    CouldntCreateApi = "CouldntCreateApi",
    DataQueryNoRowDataFound = "DataQueryNoRowDataFound",
    InvalidLinkAuthRequest = "InvalidLinkAuthRequest",
    InvalidChallenge = "InvalidChallenge",
    InvalidData = "InvalidData",
    InvalidKey = "InvalidKey",
    InvalidArgumentType = "InvalidArgumentType",
    InvalidKeyLevel = "InvalidKeyLevel",
    InvalidQrCode = "InvalidQrCode",
    InvalidUsername = "InvalidUsername",
    InvalidRequestType = "InvalidRequestType",
    InvalidRequestResponseType = "InvalidRequestResponseType",
    JwtNotValid = "JwtNotValid",
    KeyNotFound = "KeyNotFound",
    LinkAuthFailed = "LinkAuthFailed",
    MessageSendError = "MessageSendError",
    MissingChallenge = "MissingChallenge",
    MissingParams = "MissingParams",
    OriginNotFound = "OriginNotFound",
    OriginMismatch = "OriginMismatch",
    PasswordFormatInvalid = "PasswordFormatInvalid",
    PasswordInvalid = "PasswordInvalid",
    RequestsNotFound = "RequestsNotFound",
    ResponsesNotFound = "ResponsesNotFound",
    PasswordTooCommon = "PasswordTooCommon",
    PinInvalid = "PinInvalid",
    ReferrerEmpty = "ReferrerEmpty",
    SenderNotAuthorized = "SenderNotAuthorized",
    SettingsNotInitialized = "SettingsNotInitialized",
    UpdateKeysTransactionNoKeys = "UpdateKeysTransactionNoKeys",
    UserDeactivated = "UserDeactivated",
    UsernameNotFound = "UsernameNotFound",
    UsernameTaken = "UsernameTaken",
    UsernameNotDefined = "UsernameNotDefined",
    UserNotLoggedIn = "UserNotLoggedIn",
    UserNotLoggedInWithThisApp = "UserNotLoggedInWithThisApp",
    UserRefreshed = "UserRefreshed",
    WrongOrigin = "WrongOrigin",
    UserCancelled = "UserCancelled",
    UserLogout = "UserLogout",
    VerificationDataNotFound = "VerificationDataNotFound"
}
declare namespace SdkErrors {
    function indexFor(value: SdkErrors): number;
    function from(value: number | string): SdkErrors;
}
export { SdkErrors };
/**
 * Checks if the error is an instance of SdkError or has a message that starts with the given code.
 * If the code is an array, it checks if the error matches any of the codes in the array.
 *
 * @param error The error to check.
 * @param {SdkErrors | SdkErrors[]} code The error code or an array of error codes to check against.
 * @returns {boolean} True if the error matches the code (or any of the codes), false otherwise.
 */
export declare function isErrorCode(error: any, code: SdkErrors | SdkErrors[]): boolean;
export declare function getErrorCode(error: any): SdkErrors | undefined;
//# sourceMappingURL=errors.d.ts.map