/**
 * Glob Pattern Matcher
 *
 * Simple glob pattern matching without external dependencies.
 * Supports: *, **, ?, [abc], [a-z], {a,b,c}
 *
 * Used for tool filtering similar to Mistral Vibe's enabled_tools/disabled_tools.
 */
/**
 * Convert a glob pattern to a regular expression
 */
export declare function globToRegex(pattern: string): RegExp;
/**
 * Test if a string matches a glob pattern
 */
export declare function matchGlob(str: string, pattern: string): boolean;
/**
 * Test if a string matches any of the given patterns
 */
export declare function matchAnyGlob(str: string, patterns: string[]): boolean;
/**
 * Test if a string matches all of the given patterns
 */
export declare function matchAllGlobs(str: string, patterns: string[]): boolean;
/**
 * Filter an array of strings by glob patterns
 */
export declare function filterByGlob<T>(items: T[], patterns: string[], accessor?: (item: T) => string): T[];
/**
 * Exclude items matching glob patterns
 */
export declare function excludeByGlob<T>(items: T[], patterns: string[], accessor?: (item: T) => string): T[];
/**
 * Tool filter using glob patterns
 */
export interface ToolFilterConfig {
    /** Tools to enable (glob patterns) */
    enabledTools?: string[];
    /** Tools to disable (glob patterns) */
    disabledTools?: string[];
}
/**
 * Filter tools by glob patterns
 */
export declare function filterTools(tools: string[], config: ToolFilterConfig): string[];
/**
 * Check if a single tool is enabled by the filter config
 */
export declare function isToolEnabled(toolName: string, config: ToolFilterConfig): boolean;
/**
 * Example patterns:
 *
 * - "bash" - Exact match
 * - "bash*" - Starts with "bash"
 * - "*search*" - Contains "search"
 * - "*.test.ts" - Ends with ".test.ts"
 * - "**\/*.ts" - Any .ts file
 * - "src/**" - Anything under src/
 * - "file_?" - Single character wildcard
 * - "[abc]*" - Starts with a, b, or c
 * - "{bash,git,npm}" - Any of these exact matches
 * - "!pattern" - Not supported directly (use disabledTools)
 */
