import { Option } from '@lattice-php/core'; import { TableColumn, TableSort, TableQuery } from '../types.js'; import { Side } from '@lattice-php/ui'; export declare function getColumnSort(query: TableQuery, column: TableColumn): TableSort | undefined; export declare function buildEndpoint(endpoint: string, query: TableQuery): string; export declare function appendTableFilters(url: URL, tableFilters: Record): void; export declare function appendTableFilterParam(url: URL, key: string, value: unknown): void; /** * The `_sub=search` sub-request every searchable select/filter/board field * uses to look up options against a component's own endpoint. */ export declare function fetchFilterOptions(endpoint: string | null, componentRef: string, searchKey: string, query: string, signal?: AbortSignal): Promise; export declare function getQueryParams(query: TableQuery): Record; /** * `getQueryParams()` plus `page`/`per_page`, the two params only a URL-synced * table restores: `page` when it isn't the implicit first page, `per_page` * when it differs from the definition's default (so a clean URL round-trips * to a no-op write). */ export declare function getUrlQueryParams(query: TableQuery, defaultPerPage: number): Record; export declare const VALUELESS_FILTER_OPERATORS: Set; export declare function operatorLabel(operator: string): string; export declare function getSortDirectionLabel(direction: string): string; export declare function nextSort(sorts: TableSort[], column: TableColumn): TableSort[]; export declare function getVisiblePages(currentPage: number, lastPage: number): number[]; export declare function orderPinnedColumns(columns: T[], pinOf: (column: T) => Side | null): T[]; export declare function getTableSizingColumns(columns: TableColumn[], pinOf?: (column: TableColumn) => Side | null): { key: string; label: string | null; pin: any; width: ColumnWidth; }[];