export interface FilterRule { name: string; matchCommand: RegExp; imageOnlyFallback?: string; pipeline: FilterPipeline; } export interface FilterPipeline { stripAnsi?: boolean; replace?: Array<{ pattern: RegExp; replacement: string; }>; matchOutput?: Array<{ pattern: RegExp; message: string; unless?: RegExp; }>; stripLinesMatching?: RegExp[]; keepLinesMatching?: RegExp[]; truncateLinesAt?: number; headLines?: number; tailLines?: number; maxLines?: number; onEmpty?: string; } export type FilterResult = { matched: true; ruleName: string; output: string; bytesBefore: number; bytesAfter: number; } | { matched: false; output: string; bytesBefore: number; bytesAfter: number; }; export declare const OMITTED_LINES_MARKER: (count: number) => string; export declare const TRUNCATED_LINES_MARKER: (count: number) => string; export declare class FilterRegistry { private readonly rules; constructor(rules: FilterRule[]); find(command: string): FilterRule | undefined; } export declare class FilterEngine { private readonly registry; constructor(registry: FilterRegistry); process(command: string, content: string): FilterResult; } //# sourceMappingURL=index.d.ts.map