import { IDataSource, Predicate } from "../wj-config.js";
type PostMergeFn = (config: any) => any;
export declare class BuilderImpl {
    #private;
    /**
     * Flag to determine if the last call in the builder was the addition of a data source.
     */
    _lastCallWasDsAdd: boolean;
    postMerge(fn: PostMergeFn): void;
    add(dataSource: IDataSource<Record<string, any>>): void;
    name(name: string): void;
    when(predicate: Predicate<any>, dataSourceName?: string): void;
    createUrlFunctions(wsPropertyNames: string | number | symbol | (string | number | symbol)[], routeValuesRegExp?: RegExp): void;
    build(traceValueSources: boolean, evaluatePredicate: Predicate<Function>): Promise<Record<string, any>>;
}
export {};
//# sourceMappingURL=BuilderImpl.d.ts.map