import { ErrorEvent } from '../validators/events';
export declare class IotaError extends Error {
    code: IotaErrorCode;
    correlationId?: string;
    issue?: string;
    constructor(message: string, code: IotaErrorCode, correlationId?: string, issue?: string);
}
export declare enum IotaErrorCode {
    'UNEXPECTED_ERROR' = "UnexpectedError",
    'DATA_REQUEST_ERROR' = "DataRequestError",
    'IOTA_CLIENT_NOT_STARTED' = "IotaClientNotStarted",
    'NOT_AUTHENTICATED' = "NotAuthenticated",
    'IOTA_SESSION_NOT_INITIALIZED' = "IotaSessionNotInitialized",
    'UNABLE_TO_CONNECT_WITH_PROVIDED_CREDENTIALS' = "UnableToConnectWithProvidedCredentials"
}
export declare enum InternalErrorCode {
    'SIGNED_REQUEST_EVENT' = "SignedRequestEvent",
    'SIGNED_REQUEST_JWT' = "SignedRequestJWT",
    'RESPONSE_CALLBACK_EVENT' = "ResponseCallbackEvent",
    'PARSING_VERIFIABLE_PRESENTATION' = "ParsingVerifiablePresentation",
    'PARSING_PRESENTATION_SUBMISSION' = "ParsingPresentationSubmission",
    'PARSING_ERROR_EVENT' = "ParsingErrorEvent"
}
export declare function newUnexpectedError(internalErrorCode: InternalErrorCode, correlationId?: string): IotaError;
export declare function newIotaError(iotaErrorCode: IotaErrorCode): IotaError;
export declare function newRequestError(event: ErrorEvent): IotaError;
export declare function throwEventError(event: ErrorEvent): never;
