///
import Promise = require("bluebird");
import { IRouteBuilderInstance } from "./IRouteBuilderInstance";
import { AbstractRouteState } from "../extendible/state/AbstractRouteState";
import { AbstractRootRouteState } from "../extendible/state/AbstractRootRouteState";
import { FireRouteUpdateAction } from "../reusable/FireRouteUpdateAction";
import { Request, Response } from "../../shared-interfaces/ExpressInterfaces";
export declare class InternalRouteBuilder implements IRouteBuilderInstance {
routeToClone: RootStateType;
clonedRoute: RootStateType;
currentState: T;
serverRequest: Request;
serverResponse: Response;
fireRouteUpdateActionClass: typeof FireRouteUpdateAction;
private _doNotResetChildRoutes;
constructor(routeToClone: RootStateType, serverRequest?: Request, serverResponse?: Response, fireRouteUpdateActionClass?: typeof FireRouteUpdateAction);
syncFromUrl(urlStr: string): IRouteBuilderInstance;
skipTo(selector: X | ((input: T) => X)): IRouteBuilderInstance;
segment(selector: (input: T) => X): IRouteBuilderInstance;
segmentParam(selector: string | number): IRouteBuilderInstance;
queryParam(selector: (input: T) => string | number | boolean, value: any): IRouteBuilderInstance;
resetAllQueryParams(): IRouteBuilderInstance;
doNotResetChildRoutes(): IRouteBuilderInstance;
build(): RootStateType;
buildString(): string;
mergeWithoutRouteActions(anotherRoute?: RootStateType): void;
merge(anotherRoute?: RootStateType): Promise;
private createDummyObject(forState);
private createQueryParamsDummyObject(forState);
private resetRoutes(routesToReset);
}