import { z } from "zod";
/** What find-in-files accepts: a literal or extended regular expression, the
 * usual case and whole-word switches, and optional git pathspecs to include. */
export declare const fileSearchSchema: z.ZodObject<{
    query: z.ZodString;
    regex: z.ZodOptional<z.ZodBoolean>;
    caseSensitive: z.ZodOptional<z.ZodBoolean>;
    wholeWord: z.ZodOptional<z.ZodBoolean>;
    include: z.ZodOptional<z.ZodArray<z.ZodString>>;
    limit: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
export type FileSearch = z.infer<typeof fileSearchSchema>;
/**
 * Find in files for the desktop editor: `git grep` over tracked and untracked
 * (not ignored) text files in the repository root the server chose, so it works
 * wherever git does and respects .gitignore. Results are grouped by file with
 * 1-based line and column; long lines are cut around the match.
 */
export declare function searchRepository(root: string, input: FileSearch): Promise<{
    matches: {
        file: string;
        lines: {
            line: number;
            column: number;
            text: string;
        }[];
    }[];
    files: number;
    total: number;
    truncated: boolean;
}>;
/** Every tracked and untracked (not ignored) file path, for the editor's quick open. */
export declare function listRepositoryFiles(root: string): Promise<{
    files: string[];
    total: number;
    truncated: boolean;
}>;
