import type { FileReferenceRegistry } from "./fileReferenceRegistry.js";
/**
 * Create file access tools bound to a FileReferenceRegistry instance.
 *
 * These tools follow the same pattern as the existing directAgentTools
 * (getCurrentTime, readFile, etc.) in src/lib/agent/directTools.ts.
 * They use NeuroLink's `tool()` helper from `../utils/tool.js` with Zod
 * parameter schemas.
 *
 * @param registry - The FileReferenceRegistry instance to bind to
 * @returns Record of tool name to tool definition
 *
 * @example
 * ```typescript
 * const registry = new FileReferenceRegistry();
 * const tools = createFileTools(registry);
 * // tools.list_attached_files, tools.read_file_section, etc.
 * ```
 */
export declare function createFileTools(registry: FileReferenceRegistry): {
    list_attached_files: import("ai").Tool<Record<string, never>, {
        success: boolean;
        message: string;
        fileCount: number;
        files?: undefined;
        formatted?: undefined;
        error?: undefined;
    } | {
        success: boolean;
        fileCount: number;
        files: {
            index: number;
            id: string;
            filename: string;
            type: import("../index.js").FileType;
            size: string;
            sizeBytes: number;
            sizeTier: import("../index.js").SizeTier;
            estimatedTokens: number;
            status: import("../index.js").FileReferenceStatus;
            hasPreview: boolean;
            hasSummary: boolean;
            totalLines: number | null;
        }[];
        formatted: string;
        message?: undefined;
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        message?: undefined;
        fileCount?: undefined;
        files?: undefined;
        formatted?: undefined;
    }>;
    read_file_section: import("ai").Tool<{
        file_id: string;
        start_line: number;
        token_budget: number;
        end_line?: number | undefined;
    }, {
        success: boolean;
        error: string;
        content?: undefined;
        startLine?: undefined;
        endLine?: undefined;
        totalLines?: undefined;
        truncated?: undefined;
        estimatedTokens?: undefined;
        guidance?: undefined;
    } | {
        success: boolean;
        content: string;
        startLine: number;
        endLine: number;
        totalLines: number;
        truncated: boolean;
        estimatedTokens: number;
        guidance: string | undefined;
        error?: undefined;
    }>;
    search_in_file: import("ai").Tool<{
        file_id: string;
        pattern: string;
        max_matches: number;
    }, {
        success: boolean;
        error: string;
        pattern?: undefined;
        totalMatches?: undefined;
        matchesReturned?: undefined;
        truncated?: undefined;
        matches?: undefined;
    } | {
        success: boolean;
        pattern: string;
        totalMatches: number;
        matchesReturned: number;
        truncated: boolean;
        matches: {
            lineNumber: number;
            line: string;
            context: {
                before: string[];
                after: string[];
            } | undefined;
        }[];
        error?: undefined;
    }>;
    get_file_preview: import("ai").Tool<{
        file_id: string;
    }, {
        success: boolean;
        error: string;
        filename?: undefined;
        type?: undefined;
        size?: undefined;
        sizeBytes?: undefined;
        sizeTier?: undefined;
        mimeType?: undefined;
        estimatedTokens?: undefined;
        status?: undefined;
        totalLines?: undefined;
        preview?: undefined;
        summary?: undefined;
        hasSummary?: undefined;
    } | {
        success: boolean;
        filename: string;
        type: import("../index.js").FileType;
        size: string;
        sizeBytes: number;
        sizeTier: import("../index.js").SizeTier;
        mimeType: string;
        estimatedTokens: number;
        status: import("../index.js").FileReferenceStatus;
        totalLines: number | null;
        preview: string;
        summary: string | null;
        hasSummary: boolean;
        error?: undefined;
    }>;
    extract_file_content: import("ai").Tool<{
        file_id: string;
        start_time?: number | undefined;
        end_time?: number | undefined;
        frame_count?: number | undefined;
        pages?: number[] | undefined;
        page_range?: {
            start: number;
            end: number;
        } | undefined;
        sheet?: string | undefined;
        row_range?: {
            start: number;
            end: number;
        } | undefined;
        columns?: string[] | undefined;
        entry_path?: string | undefined;
        format?: "text" | "summary" | "detailed" | undefined;
    }, {
        success: false;
        error: string | undefined;
        text: string | undefined;
        metadata: Record<string, unknown> | undefined;
        imageCount: number;
        _images: Buffer[] | undefined;
    } | {
        success: true;
        text: string | undefined;
        metadata: Record<string, unknown> | undefined;
        imageCount: number;
        _images: Buffer<ArrayBufferLike>[] | undefined;
        error: string | undefined;
    }>;
};
