import type { IConfigProvider } from '../infrastructure/config/interfaces/IConfigProvider.js';
/**
 * Generates tool definitions based on current environment settings
 *
 * This function dynamically creates tool definitions for the MCP server,
 * taking into account environment variables and configuration settings.
 * It allows hiding parameters that are already defined via CLI options.
 */
export declare function generateToolDefinitions(configProvider?: IConfigProvider | null): ({
    name: string;
    description: string;
    parameters: {
        type: string;
        properties: {
            scope: {
                type: string;
                enum: string[];
                description: string;
                default?: undefined;
            };
            branch: {
                type: string;
                description: string;
            };
            path: {
                type: string;
                description: string;
            };
            docs: {
                type: string;
                description: string;
            };
            content?: undefined;
            patches?: undefined;
            tags?: undefined;
            returnContent?: undefined;
            language?: undefined;
            match?: undefined;
        };
        required: string[];
    };
} | {
    name: string;
    description: string;
    parameters: {
        type: string;
        properties: {
            scope: {
                type: string;
                enum: string[];
                description: string;
                default?: undefined;
            };
            branch: {
                type: string;
                description: string;
            };
            path: {
                type: string;
                description: string;
            };
            content: {
                type: string;
                description: string;
            };
            patches: {
                type: string;
                description: string;
            };
            tags: {
                type: string;
                items: {
                    type: string;
                };
                description: string;
            };
            docs: {
                type: string;
                description: string;
            };
            returnContent: {
                type: string;
                description: string;
                default: boolean;
            };
            language?: undefined;
            match?: undefined;
        };
        required: string[];
    };
} | {
    name: string;
    description: string;
    parameters: {
        type: string;
        properties: {
            branch: {
                type: string;
                description: string;
            };
            docs: {
                type: string;
                description: string;
            };
            language: {
                type: string;
                enum: string[];
                description: string;
            };
            scope?: undefined;
            path?: undefined;
            content?: undefined;
            patches?: undefined;
            tags?: undefined;
            returnContent?: undefined;
            match?: undefined;
        };
        required: string[];
    };
} | {
    name: string;
    description: string;
    parameters: {
        type: string;
        properties: {
            tags: {
                type: string;
                items: {
                    type: string;
                };
                description: string;
            };
            match: {
                type: string;
                enum: string[];
                default: string;
                description: string;
            };
            scope: {
                type: string;
                enum: string[];
                default: string;
                description: string;
            };
            branch: {
                type: string;
                description: string;
            };
            docs: {
                type: string;
                description: string;
            };
            path?: undefined;
            content?: undefined;
            patches?: undefined;
            returnContent?: undefined;
            language?: undefined;
        };
        required: string[];
    };
})[];
//# sourceMappingURL=dynamic-definitions.d.ts.map