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 {};