/**
 * Server Information Tools for MCP Maple
 * Provides MCP tools for retrieving MapleStory server status and game information
 */
import { JSONSchema7 } from 'json-schema';
import { EnhancedBaseTool, ToolContext, ToolResult, ToolCategory } from './base-tool';
/**
 * Tool for getting server status information
 */
export declare class GetServerStatusTool extends EnhancedBaseTool {
    readonly name = "get_server_status";
    readonly description = "Get current server status, population estimates, and maintenance information for MapleStory SEA servers";
    readonly inputSchema: JSONSchema7;
    readonly metadata: {
        category: ToolCategory;
        tags: string[];
        examples: ({
            description: string;
            arguments: {
                includeNotices?: never;
                worldName?: never;
            };
        } | {
            description: string;
            arguments: {
                includeNotices: boolean;
                worldName?: never;
            };
        } | {
            description: string;
            arguments: {
                worldName: string;
                includeNotices?: never;
            };
        })[];
    };
    protected executeImpl(args: Record<string, any>, context: ToolContext): Promise<ToolResult>;
}
/**
 * Tool for getting game notices and announcements
 */
export declare class GetGameNoticesTool extends EnhancedBaseTool {
    readonly name = "get_game_notices";
    readonly description = "Retrieve latest game notices, announcements, events, and maintenance schedules";
    readonly inputSchema: JSONSchema7;
    readonly metadata: {
        category: ToolCategory;
        tags: string[];
        examples: ({
            description: string;
            arguments: {
                noticeType?: never;
                maxResults?: never;
                includeDetails?: never;
            };
        } | {
            description: string;
            arguments: {
                noticeType: string;
                maxResults?: never;
                includeDetails?: never;
            };
        } | {
            description: string;
            arguments: {
                noticeType: string;
                maxResults: number;
                includeDetails?: never;
            };
        } | {
            description: string;
            arguments: {
                includeDetails: boolean;
                noticeType?: never;
                maxResults?: never;
            };
        })[];
    };
    protected executeImpl(args: Record<string, any>, context: ToolContext): Promise<ToolResult>;
}
//# sourceMappingURL=server-tools.d.ts.map