import AutoInitMap from "./utils/AutoInitMap"; import Tuple from "./Tuple"; import TupleTag from "./TupleTag"; declare class CommandEntry { command: string; inputPattern: Tuple; value: T; definiteValues: TupleTag[]; uniqueExprs: TupleTag[]; constructor(command: string, inputPattern: Tuple, value: T); checkHasDefiniteValues(tuple: Tuple): boolean; } declare class SingleCommandMatches { entries: CommandEntry[]; add(entry: CommandEntry): void; find(tuple: Tuple): T; } export default class CommandPatternMatcher { allEntries: CommandEntry[]; byCommand: AutoInitMap>; constructor(); addCommandStr(commandStr: string, value: T): void; entriesByCommand(commandName: string): CommandEntry[]; find(commandName: string, tuple: Tuple): T; findWithUnique(commandName: string, uniqueTag: TupleTag, tuple: Tuple): T; findWithDefiniteValues(commandName: string, tuple: Tuple): T; } export {};