import type { TType } from './typesystem.js'; type MatcherData = { type: Type; data: Data; }; export declare class Matcher { private _match; private list; constructor(_match?: (type: Type, target: TType) => boolean); register(type: Type, data: Data): void; match(type: TType): Data | undefined; allMatched(type: TType): MatcherData[]; allMatchedData(type: TType): Data[]; findData(f: (data: Data) => boolean): Data | undefined; find(f: (data: MatcherData) => boolean): MatcherData | undefined; all(): MatcherData[]; isMatched(type: Type, target: TType): boolean; } export {}; //# sourceMappingURL=matcher.d.ts.map