import type { Expr, LogEntry, MatchOptions } from "./types"; export declare class NamedExpr implements Expr { name: string; x: Expr; constructor(name: string, x: Expr); exprMatches(entry: LogEntry, opts?: MatchOptions): boolean; } export declare class NotExpr implements Expr { x: Expr; constructor(x: Expr); exprMatches(entry: LogEntry, opts?: MatchOptions): boolean; } export declare class AndExpr implements Expr { x: Expr[]; constructor(x: Expr[]); exprMatches(entry: LogEntry, opts?: MatchOptions): boolean; } export declare class OrExpr implements Expr { x: Expr[]; constructor(x: Expr[]); exprMatches(entry: LogEntry, opts?: MatchOptions): boolean; } export declare class SearchAtom implements Expr { field?: string; modifiers: string[]; patterns: string[]; _compiledCache: any; constructor(field: string | undefined, modifiers: string[], patterns: string[]); validate(): Error | null; exprMatches(entry: LogEntry, opts?: MatchOptions): boolean; _expandPatterns(placeholders?: Record): string[]; _compile(patterns: string[]): { matches: (s: string) => boolean; }; }