import { ColumnDefinition, SortCondition } from 'verben-ng-ui'; import { SearchPropertyValue, SortDirection as ApiSortDirection } from '../models/api-payload'; import * as i0 from "@angular/core"; /** The sort segment every list/search URL in this API ends with. */ export interface PrimarySort { sortParam: string; sortOrder: ApiSortDirection; } /** * Converts SortCondition[] emitted by lib-data-sort into what the workflow API * needs. * * This API carries sort in the URL — every endpoint ends * `/{skip}/{limit}/{sortParam}/{sortOrder}`, including the POST search — so * `buildPrimarySort()` is the load-bearing one and only the first condition can * be honoured. `buildSortPayload()` still emits the full set on the POST body so * multi-column sort starts working the moment the backend reads it. */ export declare class SortHandlerService { /** * Collapse the sort conditions to the single sort the URL can carry. * Returns null when nothing sortable was selected, so callers fall back to * the page's configured default. */ buildPrimarySort(sorts: SortCondition[], columns: ColumnDefinition[]): PrimarySort | null; buildSortPayload(sorts: SortCondition[], columns: ColumnDefinition[]): SearchPropertyValue[]; private mapSortDirection; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }