/** Unified error codes for all SDK errors — single source of truth. */
declare enum ErrorCode {
    AUTH_EXPIRED = "AUTH_EXPIRED",
    AUTH_INVALID = "AUTH_INVALID",
    RATE_LIMIT = "RATE_LIMIT",
    NETWORK = "NETWORK",
    TIMEOUT = "TIMEOUT",
    PROVIDER_ERROR = "PROVIDER_ERROR",
    MODEL_NOT_FOUND = "MODEL_NOT_FOUND",
    MODEL_OVERLOADED = "MODEL_OVERLOADED",
    CONTEXT_OVERFLOW = "CONTEXT_OVERFLOW",
    INVALID_INPUT = "INVALID_INPUT",
    INVALID_RESPONSE = "INVALID_RESPONSE",
    REENTRANCY = "REENTRANCY",
    DISPOSED = "DISPOSED",
    ABORTED = "ABORTED",
    INVALID_TRANSITION = "INVALID_TRANSITION",
    DEPENDENCY_MISSING = "DEPENDENCY_MISSING",
    BACKEND_NOT_INSTALLED = "BACKEND_NOT_INSTALLED",
    TOOL_EXECUTION = "TOOL_EXECUTION",
    PERMISSION_DENIED = "PERMISSION_DENIED",
    SESSION_NOT_FOUND = "SESSION_NOT_FOUND",
    SESSION_EXPIRED = "SESSION_EXPIRED",
    PROVIDER_NOT_FOUND = "PROVIDER_NOT_FOUND",
    AUTH_REQUIRED = "AUTH_REQUIRED",
    STORAGE_ERROR = "STORAGE_ERROR",
    STORAGE_NOT_FOUND = "STORAGE_NOT_FOUND",
    STORAGE_DUPLICATE_KEY = "STORAGE_DUPLICATE_KEY",
    STORAGE_IO_ERROR = "STORAGE_IO_ERROR",
    STORAGE_SERIALIZATION_ERROR = "STORAGE_SERIALIZATION_ERROR"
}

export { ErrorCode as E };
