/**
 * Custom error classes for MCP Maple
 * Provides structured error handling for different failure scenarios
 */
export declare class McpMapleError extends Error {
    readonly code: string;
    readonly statusCode?: number | undefined;
    readonly context?: Record<string, any> | undefined;
    constructor(message: string, code: string, statusCode?: number | undefined, context?: Record<string, any> | undefined);
    toJSON(): Record<string, any>;
}
export declare class NexonApiError extends McpMapleError {
    constructor(message: string, statusCode: number, endpoint?: string, params?: Record<string, any>);
}
export declare class CharacterNotFoundError extends McpMapleError {
    constructor(characterName: string);
}
export declare class GuildNotFoundError extends McpMapleError {
    constructor(guildName: string, worldName?: string);
}
export declare class InvalidApiKeyError extends McpMapleError {
    constructor();
}
export declare class RateLimitError extends McpMapleError {
    constructor(retryAfter?: number);
}
export declare class ValidationError extends McpMapleError {
    constructor(field: string, value: any, expectedType?: string);
}
export declare class NetworkError extends McpMapleError {
    constructor(originalError: Error);
}
export declare class TimeoutError extends McpMapleError {
    constructor(timeout: number);
}
export declare function createNexonApiError(statusCode: number, message: string, endpoint?: string, params?: Record<string, any>): McpMapleError;
export declare function isRetryableError(error: Error): boolean;
export declare function getRetryDelay(attemptNumber: number, baseDelay?: number): number;
export declare function sanitizeErrorForLogging(error: any): Record<string, any>;
//# sourceMappingURL=errors.d.ts.map