import { ContentAnnotations, ToolAnnotations } from './mcp-types.js';
/**
 * Tool definition for registration
 */
export interface ToolDefinition {
    name: string;
    description: string;
    inputSchema: {
        type: "object";
        properties: Record<string, any>;
        required?: string[];
        [x: string]: unknown;
    };
    annotations?: ToolAnnotations;
    [x: string]: unknown;
}
/**
 * Tool call result
 */
export interface CallToolResult {
    content: ContentItem[];
    isError?: boolean;
}
/**
 * Content item in response
 */
export interface ContentItem {
    type: string;
    text: string;
    data?: string;
    mimeType?: string;
    annotations?: ContentAnnotations;
}
/**
 * Tool type
 */
export type ToolType = 'architect' | 'think' | 'llm_gateway';
/**
 * LLM provider configuration
 */
export interface LLMProviderConfig {
    apiKey?: string;
    model?: string;
    endpoint?: string;
    temperature?: number;
    maxTokens?: number;
    toolName?: ToolType;
}
/**
 * Progress notification
 */
export interface ProgressNotification {
    current: number;
    total: number;
    message?: string;
}
/**
 * Parameters for Architect tool
 */
export interface ArchitectToolParams {
    prompt: string;
    context?: string;
}
/**
 * Parameters for Think tool
 */
export interface ThinkToolParams {
    thought: string;
    context?: string;
}
/**
 * Parameters for LLM Gateway tool
 */
export interface LLMGatewayParams {
    message: string;
    context?: string;
    systemPrompt?: string;
    temperature?: number;
    maxTokens?: number;
    stream?: boolean;
}
