import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
interface SearchOptions {
    pattern: string;
    contextLines: number;
    beforeLines: number;
    afterLines: number;
    ignoreCase: boolean;
}
interface SearchMatch {
    lineNumber: number;
    line: string;
    matchedText: string;
}
interface SearchResult {
    matches: SearchMatch[];
    formattedOutput: string[];
}
export declare const registerGrepRepomixOutputTool: (mcpServer: McpServer) => void;
export declare const createRegexPattern: (pattern: string, ignoreCase: boolean, deps?: {
    RegExp: RegExpConstructor;
}) => RegExp;
export declare const searchInContent: (content: string, options: SearchOptions, deps?: {
    createRegexPattern: (pattern: string, ignoreCase: boolean, deps?: {
        RegExp: RegExpConstructor;
    }) => RegExp;
}) => SearchMatch[];
export declare const searchInLines: (lines: string[], options: SearchOptions, deps?: {
    createRegexPattern: (pattern: string, ignoreCase: boolean, deps?: {
        RegExp: RegExpConstructor;
    }) => RegExp;
}) => SearchMatch[];
export declare const formatSearchResults: (lines: string[], matches: SearchMatch[], beforeLines: number, afterLines: number) => string[];
export declare const performGrepSearch: (content: string, options: SearchOptions, deps?: {
    searchInLines: (lines: string[], options: SearchOptions, deps?: {
        createRegexPattern: (pattern: string, ignoreCase: boolean, deps?: {
            RegExp: RegExpConstructor;
        }) => RegExp;
    }) => SearchMatch[];
    formatSearchResults: (lines: string[], matches: SearchMatch[], beforeLines: number, afterLines: number) => string[];
}) => SearchResult;
export {};
