export interface LocalRepositoryOptions {
    path: string;
    includeGitignored?: boolean;
    useGitignore?: boolean;
    useGitingestignore?: boolean;
    maxFileSize?: number;
    maxFiles?: number;
    excludePatterns?: string[];
    includePatterns?: string[];
}
export interface LocalRepositoryResult {
    path: string;
    files: RepositoryFile[];
    tree: TreeNode;
    summary: RepositorySummary;
}
export interface RepositoryFile {
    path: string;
    content: string;
    size: number;
    type: "file" | "directory" | "symlink";
}
export interface TreeNode {
    name: string;
    type: "file" | "directory";
    size?: number;
    children?: TreeNode[];
}
export interface RepositorySummary {
    path: string;
    branch: string;
    commit: string;
    fileCount: number;
    directoryCount: number;
    totalSize: number;
    tokenCount: number;
    createdAt: string;
}
export declare class LocalRepositoryTool {
    private static readonly DEFAULT_MAX_FILE_SIZE;
    private static readonly DEFAULT_MAX_FILES;
    static analyze(options: LocalRepositoryOptions, signal?: AbortSignal): Promise<LocalRepositoryResult>;
    private static getRepositoryInfo;
    private static getIgnorePatterns;
    private static parseIgnoreFile;
    private static collectFiles;
    private static shouldIgnore;
    private static shouldInclude;
    private static matchesPattern;
    private static buildTree;
    private static calculateSummary;
    private static estimateTokens;
}
