import type { TableSort } from './table'; export type UrlParamEntry = [key: string, value: string, default_value?: string]; type ReadonlySetLike = Pick, `has`>; type ValidQueryValues = ReadonlySetLike | Record; export type WeightsConfig = Record; type UrlLocation = Pick; export declare const bool_from_param: (params: URLSearchParams, key: string, fallback?: boolean) => boolean; export declare const bool_url_entry: (key: string, value: boolean, fallback?: boolean) => UrlParamEntry; export declare function valid_query_param(params: URLSearchParams, key: string, fallback: Value, valid_values: ValidQueryValues): Value; export declare function valid_query_param(params: URLSearchParams, key: string, fallback: string): string; export declare const sort_from_query: (params: URLSearchParams, default_sort: TableSort, valid_columns?: ValidQueryValues) => TableSort; export declare const sort_url_entries: (sort: TableSort, default_sort: TableSort) => UrlParamEntry[]; export declare function weights_to_param(config: WeightsConfig, default_config: WeightsConfig): string; export declare function apply_weights_param(param: string | null, config: WeightsConfig, default_config: WeightsConfig): void; export declare function url_with_params(entries: UrlParamEntry[], current_url: UrlLocation): string; export declare function sync_url_params(entries: UrlParamEntry[], current_url: UrlLocation, write_url: (url: string) => void): void; export {};