import { Param, ParamType, ParamTypeValue, ParamMap } from './param'; export declare type ParamBuilderMap = { [name: string]: ParamBuilder; }; export interface ParamNameGen { next(builder?: ParamBuilder): string; } export declare function paramNameGen(startI?: number): ParamNameGen; export declare class ParamBuilder { private type; private val; private _name?; static buildAll(builders: ParamBuilder[]): Param[]; static buildAll(builders: ParamBuilderMap): ParamMap; constructor(type: T, val: V, _name?: string); getName(): string; getVal(): V; name(name: string): this; private assertName; build(name?: string): Param; }