import { Route } from '@angular/router'; export interface IQueryParamsStoreModuleConfig { debug?: boolean; useCompression?: boolean; compressionKey?: string; } export declare type IStateConfig = { [k in keyof T]: QueryParamsStoreDefaultValue; }; export interface IQueryParamsStoreConfig { noQueryParams?: boolean; removeUnknown?: boolean; caseSensitive?: boolean; inherit?: boolean; stateConfig?: IStateConfig; } export interface IQueryParamsStoreData { storeConfig?: IQueryParamsStoreConfig; [key: string]: any; } export declare type QueryParamsStoreDefaultValue = QueryParamsStoreDefaultGenericValue | QueryParamsStoreDefaultMultiValue; export declare type QueryParamsStoreDefaultGenericValue = string | number | boolean | { value: null | undefined | string | number | boolean; typeConvertor?: StringConstructor | NumberConstructor | BooleanConstructor; multi?: false; allowedValues?: (null | undefined | string | number | boolean)[]; }; export declare type QueryParamsStoreDefaultMultiValue = string | number | boolean | { value: string; multi: true; count?: number; typeConvertor: StringConstructor | NumberConstructor | BooleanConstructor; separator: string; allowedValues?: (null | undefined | string | number | boolean)[]; } | QueryParamsStoreDefaultMultiBooleanBinaryValue; export interface QueryParamsStoreDefaultMultiBooleanBinaryValue { value: number; multi: true; typeConvertor: BooleanConstructor; length?: number; removeInvalid?: boolean; } export interface IQueryParamsStoreRoute extends Route { data?: IQueryParamsStoreData; children?: IQueryParamsStoreRoutes; [key: string]: any; } export declare type IQueryParamsStoreRoutes = IQueryParamsStoreRoute[]; export interface IAllowedValuesConfig { [paramName: string]: { match: string | number | boolean | null | (string | number | boolean | null)[]; default?: string | number | boolean; }; }