import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
import type { ProcessedFile } from '../../core/file/fileTypes.js';
export declare const registerOutputFile: (id: string, filePath: string) => void;
export declare const getOutputFilePath: (id: string) => string | undefined;
export interface McpToolMetrics {
    totalFiles: number;
    totalCharacters: number;
    totalTokens: number;
    fileCharCounts: Record<string, number>;
    fileTokenCounts: Record<string, number>;
    processedFiles: ProcessedFile[];
    safeFilePaths: string[];
}
export interface McpToolContext {
    directory?: string;
    repository?: string;
}
interface BaseMcpToolResponse {
    description?: string;
    errorMessage?: string;
}
type McpToolStructuredContent = (BaseMcpToolResponse & Record<string, unknown>) | undefined;
export declare const createToolWorkspace: () => Promise<string>;
export declare const generateOutputId: () => string;
export declare const formatPackToolResponse: (context: McpToolContext, metrics: McpToolMetrics, outputFilePath: string, topFilesLen?: number) => Promise<CallToolResult>;
export declare const convertErrorToJson: (error: unknown) => {
    errorMessage: string;
    details: {
        stack?: string;
        name: string;
        cause?: unknown;
        code?: string | number;
        timestamp: string;
        type: "Error" | "Unknown";
    };
};
export declare const buildMcpToolSuccessResponse: (structuredContent: McpToolStructuredContent) => CallToolResult;
export declare const buildMcpToolErrorResponse: (structuredContent: McpToolStructuredContent) => CallToolResult;
export {};
