export declare type TransformableFn = (pred: P) => R; export declare type Transformer = (arg: T) => TT; export declare function transformable(fn: TransformableFn, args: A): (transform: Transformer) => R; /** * @param i start number */ export declare function numberSeqGenerator(i?: number): Generator; export interface NameGen { next(): string; } export declare type BuildNameGen = (startI?: number) => NameGen & Brand; export declare function buildNameGen(prefix: string, startI?: number): NameGen;