/**
 * Character Information Tools for MCP Maple
 * Provides MCP tools for retrieving MapleStory SEA character data
 */
import { JSONSchema7 } from 'json-schema';
import { EnhancedBaseTool, ToolContext, ToolResult, ToolCategory } from './base-tool';
/**
 * Tool for getting basic character information
 */
export declare class GetCharacterBasicInfoTool extends EnhancedBaseTool {
    readonly name = "get_character_basic_info";
    readonly description = "Retrieve basic information about a MapleStory SEA character including level, job, world, and guild";
    readonly inputSchema: JSONSchema7;
    readonly metadata: {
        category: ToolCategory;
        tags: string[];
        examples: ({
            description: string;
            arguments: {
                characterName: string;
                date?: never;
            };
        } | {
            description: string;
            arguments: {
                characterName: string;
                date: string;
            };
        })[];
    };
    protected executeImpl(args: Record<string, any>, context: ToolContext): Promise<ToolResult>;
}
/**
 * Tool for getting detailed character statistics
 */
export declare class GetCharacterStatsTool extends EnhancedBaseTool {
    readonly name = "get_character_stats";
    readonly description = "Retrieve detailed statistics for a MapleStory SEA character including damage, critical rate, and all combat stats";
    readonly inputSchema: JSONSchema7;
    readonly metadata: {
        category: ToolCategory;
        tags: string[];
        examples: ({
            description: string;
            arguments: {
                characterName: string;
                date?: never;
            };
        } | {
            description: string;
            arguments: {
                characterName: string;
                date: string;
            };
        })[];
    };
    protected executeImpl(args: Record<string, any>, context: ToolContext): Promise<ToolResult>;
}
/**
 * Tool for getting character equipment information
 */
export declare class GetCharacterEquipmentTool extends EnhancedBaseTool {
    readonly name = "get_character_equipment";
    readonly description = "Retrieve equipment information for a MapleStory SEA character including all equipped items and their stats";
    readonly inputSchema: JSONSchema7;
    readonly metadata: {
        category: ToolCategory;
        tags: string[];
        examples: ({
            description: string;
            arguments: {
                characterName: string;
                date?: never;
            };
        } | {
            description: string;
            arguments: {
                characterName: string;
                date: string;
            };
        })[];
    };
    protected executeImpl(args: Record<string, any>, context: ToolContext): Promise<ToolResult>;
}
/**
 * Tool for getting comprehensive character information (combines basic, stats, and equipment)
 */
export declare class GetCharacterFullInfoTool extends EnhancedBaseTool {
    readonly name = "get_character_full_info";
    readonly description = "Retrieve comprehensive character information including basic info, stats, and equipment in a single request";
    readonly inputSchema: JSONSchema7;
    readonly metadata: {
        category: ToolCategory;
        tags: string[];
        examples: ({
            description: string;
            arguments: {
                characterName: string;
                includeEquipment?: never;
                date?: never;
            };
        } | {
            description: string;
            arguments: {
                characterName: string;
                includeEquipment: boolean;
                date?: never;
            };
        } | {
            description: string;
            arguments: {
                characterName: string;
                date: string;
                includeEquipment?: never;
            };
        })[];
    };
    protected executeImpl(args: Record<string, any>, context: ToolContext): Promise<ToolResult>;
}
/**
 * Tool for getting comprehensive character analysis
 */
export declare class GetCharacterAnalysisTool extends EnhancedBaseTool {
    readonly name = "get_character_analysis";
    readonly description = "Get comprehensive character analysis including equipment scoring, set effects, and improvement recommendations";
    readonly inputSchema: JSONSchema7;
    readonly metadata: {
        category: ToolCategory;
        tags: string[];
        examples: {
            description: string;
            arguments: {
                characterName: string;
            };
        }[];
    };
    protected executeImpl(args: Record<string, any>, context: ToolContext): Promise<ToolResult>;
}
/**
 * Tool for getting SEA job class information
 */
export declare class GetJobClassInfoTool extends EnhancedBaseTool {
    readonly name = "get_job_class_info";
    readonly description = "Get detailed information about a specific job class in MapleStory SEA including category, stats, and advancement paths";
    readonly inputSchema: JSONSchema7;
    readonly metadata: {
        category: ToolCategory;
        tags: string[];
        examples: {
            description: string;
            arguments: {
                jobClass: string;
            };
        }[];
    };
    protected executeImpl(args: Record<string, any>, context: ToolContext): Promise<ToolResult>;
}
/**
 * Tool for finding character ranking position
 */
export declare class FindCharacterRankingTool extends EnhancedBaseTool {
    readonly name = "find_character_ranking";
    readonly description = "Find a character's position in the overall ranking system across multiple pages";
    readonly inputSchema: JSONSchema7;
    readonly metadata: {
        category: ToolCategory;
        tags: string[];
        examples: ({
            description: string;
            arguments: {
                characterName: string;
                worldName?: never;
            };
        } | {
            description: string;
            arguments: {
                characterName: string;
                worldName: string;
            };
        })[];
    };
    protected executeImpl(args: Record<string, any>, context: ToolContext): Promise<ToolResult>;
}
//# sourceMappingURL=character-tools.d.ts.map