import { ViewParameter, IViewParameter } from './ViewParameter'; import { RouteParameterObject, ParamValues, ValidParameterValue } from './IRouteParameter'; import { BreadCrumbItem } from './BreadCrumbItem'; import { IViewBase } from '../Views/ViewBase'; import { IProcessedRoute } from "./RouteProvider"; import { INavigationHelper } from './NavigationHelper'; export type TransformParamsType = { [P in keyof T]: IViewParameter; }; interface ISetValuesOptions { /** True if the url should be set even if none of the values have changed. */ force?: boolean; /** True if the url should be replaced instead of added to the history. This prevents the back button returning the params to the current state. */ replace?: boolean; } export interface IViewParameterList { /** * Returns the breadcrumb items for all url parameters which have a value. */ getBreadCrumbList(): BreadCrumbItem[]; } export interface IViewParameterListOfT> extends IViewParameterList { /** * Set the view params for each of the provided values. Only 1 navigation event will occur. * @param values New values. */ setValues(values: ParamValues, options?: ISetValuesOptions | boolean): void; } export declare class ViewParameterList> implements IViewParameterListOfT { private _processedRoute; private _navigationHelper; readonly _view?: IViewBase | undefined; readonly params: ViewParameter[]; constructor(_processedRoute: IProcessedRoute, _navigationHelper: INavigationHelper, _view?: IViewBase | undefined); getBreadCrumbList(): BreadCrumbItem[]; setValues(values: ParamValues, options?: ISetValuesOptions | boolean): void; setUrl(viewParameter: ViewParameter | null, newValue: ValidParameterValue, replace?: boolean): void; private navigate; } export {};