/**
 * MCP Handlers — 项目结构 & 知识图谱
 * getTargets, getTargetFiles, getTargetMetadata, graphQuery, graphImpact, graphPath, graphStats
 */
import type { McpContext } from './types.js';
export interface TargetInfo {
    name: string;
    packageName?: string;
    packagePath?: string;
    type?: string;
    language?: string;
    framework?: string;
    path?: string;
    targetDir?: string;
    info?: {
        path?: string;
        sources?: string;
        dependencies?: unknown[];
    };
    metadata?: {
        dependencies?: unknown[];
    };
    [key: string]: unknown;
}
interface StructureArgs {
    targetName?: string;
    includeSummary?: boolean;
    includeContent?: boolean;
    contentMaxLines?: number;
    maxFiles?: number;
    [key: string]: unknown;
}
interface GraphArgs {
    nodeId?: string;
    nodeType?: string;
    direction?: string;
    relation?: string;
    fromId?: string;
    toId?: string;
    fromType?: string;
    toType?: string;
    maxDepth?: number;
    methodName?: string;
    [key: string]: unknown;
}
export declare function getTargets(ctx: McpContext, args?: StructureArgs): Promise<{
    success: boolean;
    errorCode: string | null;
    message: string;
    data: {
        targets: TargetInfo[];
    } | null;
    meta: {
        source?: string | undefined;
        responseTimeMs?: number | undefined;
        version: string;
        tool?: string | undefined;
    };
} | {
    success: boolean;
    errorCode: string | null;
    message: string;
    data: {
        targets: {
            name: string;
            packageName: string | null;
            type: string;
            inferredRole: string;
            fileCount: number;
            languageStats: Record<string, number>;
        }[];
        summary: {
            targetCount: number;
            totalFiles: number;
            languageStats: Record<string, number>;
        };
    } | null;
    meta: {
        source?: string | undefined;
        responseTimeMs?: number | undefined;
        version: string;
        tool?: string | undefined;
    };
}>;
export declare function getTargetFiles(ctx: McpContext, args: StructureArgs): Promise<{
    success: boolean;
    errorCode: string | null;
    message: string;
    data: {
        targetName: string;
        files: {
            name: string;
            path: string;
            relativePath: string;
            language: string;
            size: number;
            content?: string | null;
            totalLines?: number;
            truncated?: boolean;
        }[];
        fileCount: number;
        totalAvailable: number;
        languageStats: Record<string, number>;
    } | null;
    meta: {
        source?: string | undefined;
        responseTimeMs?: number | undefined;
        version: string;
        tool?: string | undefined;
    };
}>;
export declare function getTargetMetadata(ctx: McpContext, args: StructureArgs): Promise<{
    success: boolean;
    errorCode: string | null;
    message: string;
    data: Record<string, unknown> | null;
    meta: {
        source?: string | undefined;
        responseTimeMs?: number | undefined;
        version: string;
        tool?: string | undefined;
    };
}>;
export declare function graphQuery(ctx: McpContext, args: GraphArgs): Promise<{
    success: boolean;
    errorCode: string | null;
    message: string;
    data: any;
    meta: {
        source?: string | undefined;
        responseTimeMs?: number | undefined;
        version: string;
        tool?: string | undefined;
    };
}>;
export declare function graphImpact(ctx: McpContext, args: GraphArgs): Promise<{
    success: boolean;
    errorCode: string | null;
    message: string;
    data: unknown;
    meta: {
        source?: string | undefined;
        responseTimeMs?: number | undefined;
        version: string;
        tool?: string | undefined;
    };
}>;
export declare function graphPath(ctx: McpContext, args: GraphArgs): Promise<{
    success: boolean;
    errorCode: string | null;
    message: string;
    data: any;
    meta: {
        source?: string | undefined;
        responseTimeMs?: number | undefined;
        version: string;
        tool?: string | undefined;
    };
}>;
/**
 * autosnippet_call_context handler
 * 查询方法的调用者、被调用者、影响半径
 */
export declare function callContext(ctx: McpContext, args: GraphArgs): Promise<{
    success: boolean;
    errorCode: string | null;
    message: string;
    data: unknown;
    meta: {
        source?: string | undefined;
        responseTimeMs?: number | undefined;
        version: string;
        tool?: string | undefined;
    };
}>;
export declare function graphStats(ctx: McpContext): Promise<{
    success: boolean;
    errorCode: string | null;
    message: string;
    data: any;
    meta: {
        source?: string | undefined;
        responseTimeMs?: number | undefined;
        version: string;
        tool?: string | undefined;
    };
}>;
export {};
