import { UniverseError } from '../../lib/error';
export declare enum UniverseErrorOptionsType {
    BAD_GETWAY = "BAD_GETWAY",
    SERVICE_NOT_FOUND = "SERVICE_NOT_FOUND",
    SERVICE_NOT_AVAILABLE = "SERVICE_NOT_AVAILABLE",
    REQUEST_TIMEOUT = "REQUEST_TIMEOUT",
    REQUEST_SKIPPED = "REQUEST_SKIPPED",
    REQUEST_REJECTED = "REQUEST_REJECTED",
    QUEUE_FULL = "QUEUE_FULL",
    VALIDATION_ERROR = "VALIDATION_ERROR",
    MAX_CALL_LEVEL = "MAX_CALL_LEVEL",
    SERVICE_SCHEMA_ERROR = "SERVICE_SCHEMA_ERROR",
    STAR_OPTIONS_ERROR = "STAR_OPTIONS_ERROR",
    GRACEFUL_STOP_TIMEOUT = "GRACEFUL_STOP_TIMEOUT",
    PROTOCOL_VERSION_MISMATCH = "PROTOCOL_VERSION_MISMATCH",
    INVALID_PACKET_DATA = "INVALID_PACKET_DATA",
    MISSING_PAYLOAD = "MISSING_PAYLOAD",
    INVALID_ENDPOINT = "INVALID_ENDPOINT",
    INVALID_PARAMETERS = "INVALID_PARAMETERS",
    METRICS_DISABLED = "METRICS_DISABLED",
    NOT_FOUND_EVENT = "NOT_FOUND_EVENT",
    WAITFOR_SERVICES = "WAITFOR_SERVICES"
}
export declare enum UniverseErrorType {
    UniverseError = "UniverseError",
    UniverseRetryableError = "UniverseRetryableError",
    StarDisconnectedError = "StarDisconnectedError",
    StarServerError = "StarServerError",
    StarClientError = "StarClientError",
    ServiceNotFoundError = "ServiceNotFoundError",
    ServiceNotAvailableError = "ServiceNotAvailableError",
    RequestTimeoutError = "RequestTimeoutError",
    RequestSkippedError = "RequestSkippedError",
    RequestRejectedError = "RequestRejectedError",
    QueueIsFullError = "QueueIsFullError",
    ValidationError = "ValidationError",
    MaxCallLevelError = "MaxCallLevelError",
    ServiceSchemaError = "ServiceSchemaError",
    StarOptionsError = "StarOptionsError",
    GracefulStopTimeoutError = "GracefulStopTimeoutError",
    ProtocolVersionMismatchError = "ProtocolVersionMismatchError",
    InvalidPacketDataError = "InvalidPacketDataError"
}
export declare enum UniverseErrorCode {
    RESPONSE_ERROR = 400,
    SERVICE_NOT_FOUND = 404,
    VALIDATION_ERROR = 422,
    QUEUE_FULL = 429,
    SERVICE_ERROR = 500,
    BAD_GETWAY = 502,
    REQUEST_REJECTED = 503,
    REQUEST_TIMEOUT = 504,
    REQUEST_SKIPPED = 514
}
export interface UniverseErrorData {
    nodeID?: string;
    name?: string;
    action?: any;
    version?: string;
    level?: number;
    type?: UniverseErrorOptionsType | string;
    service?: {
        name: string;
        version: string;
    };
    actual?: string;
    received?: string;
    strategy?: string | null;
    value?: any;
    schema?: any;
    size?: number;
    limit?: number;
    eventName?: string;
    services?: any[];
    statuses?: any[];
    [key: string]: any;
}
export interface UniverseErrorOptions {
    name: UniverseErrorType;
    message: string;
    type: UniverseErrorOptionsType | string;
    code: UniverseErrorCode | number;
    data: UniverseErrorData;
}
export interface UniversePlainError extends UniverseError {
    nodeID?: string;
    [key: string]: any;
}
