/**
 * Error types for classification
 */
export declare enum ErrorType {
    AUTH_MISSING = "AUTH_MISSING",
    AUTH_INVALID = "AUTH_INVALID",
    API_ERROR = "API_ERROR",
    NOT_FOUND = "NOT_FOUND",
    UNEXPECTED_ERROR = "UNEXPECTED_ERROR"
}
/**
 * Custom error class with type classification
 */
export declare class McpError extends Error {
    type: ErrorType;
    statusCode?: number;
    originalError?: unknown;
    constructor(message: string, type: ErrorType, statusCode?: number, originalError?: unknown);
}
/**
 * Create an authentication missing error
 */
export declare function createAuthMissingError(message?: string): McpError;
/**
 * Create an authentication invalid error
 */
export declare function createAuthInvalidError(message?: string): McpError;
/**
 * Create an API error
 */
export declare function createApiError(message: string, statusCode?: number, originalError?: unknown): McpError;
/**
 * Create a not found error
 */
export declare function createNotFoundError(message?: string, originalError?: unknown): McpError;
/**
 * Create an unexpected error
 */
export declare function createUnexpectedError(message?: string, originalError?: unknown): McpError;
/**
 * Ensure an error is an McpError
 */
export declare function ensureMcpError(error: unknown): McpError;
/**
 * Format error for MCP tool response
 */
export declare function formatErrorForMcpTool(error: unknown): {
    content: Array<{
        type: 'text';
        text: string;
    }>;
};
/**
 * Format error for MCP resource response
 */
export declare function formatErrorForMcpResource(error: unknown, uri: string): {
    contents: Array<{
        uri: string;
        text: string;
        mimeType: string;
        description?: string;
    }>;
};
/**
 * Handle error in CLI context
 * @param error The error to handle
 * @param source Optional source information for better error messages
 */
export declare function handleCliError(error: unknown, source?: string): never;
