declare type Unit = (input: Input) => Output; export declare type Predicate = Unit; export declare const tableFunc: { (table: [Predicate, Output][]): Unit; if(predicate: Predicate): TableFuncBuilder; }; declare class TableFuncBuilder { readonly parent?: TableFuncBuilder | undefined; readonly predicate?: Predicate | undefined; readonly unit?: Unit | undefined; get entry(): [Predicate, Unit]; constructor(parent?: TableFuncBuilder | undefined, predicate?: Predicate | undefined, unit?: Unit | undefined); if(predicate: Predicate): TableFuncBuilder; then(unit: Unit): TableFuncBuilder; else(unit: Unit): Unit; } export {};