import { QueryBuilder } from '../query'; export declare type VarNameGen = { next(ref: Ref): string; }; export interface RefAble { ref(...path: string[]): Ref; } export declare function isRefAble(obj: any): obj is RefAble; export declare function varNameGen(startI?: number): VarNameGen; export declare class Ref { readonly scope: Readonly; readonly path: Readonly; private _name; constructor(scope: Readonly, path: Readonly); ref(...path: string[]): Ref; get name(): string; clone(): Ref; toString(): string; }