import { ProjectedNode } from './projection';
import { Filter } from '.';
import { ClassInfo } from '../metrics';
import type { CheckOptions } from './fluentapi';
/**
 * Extract filename from a file path
 */
export declare function extractFilename(filePath: string): string;
export declare function matchesPattern(file: ProjectedNode | string, filter: Filter, options?: CheckOptions): boolean;
export declare function matchesPatternClassInfo(classInfo: ClassInfo, filter: Filter, options?: CheckOptions): boolean;
/**
 * Enhanced pattern matching for multiple patterns (all must match)
 *
 * If a pattern is a string, glob logic is handled automatically. Do not handle glob logic yourself.
 */
export declare function matchesAllPatterns(file: ProjectedNode | string, filters: Filter[]): boolean;
/**
 * Enhanced pattern matching for multiple patterns (at least one must match)
 */
export declare function matchesAnyPattern(file: ProjectedNode | string, filters: Filter[]): boolean;
/**
 * OLD
 */
export declare const matchingAllPatterns_OLD: (input: string, patterns: Array<string | RegExp>) => boolean;
