import type { BackendService, Column, ColumnFilters, ColumnSort, CurrentFilter, CurrentPagination, CurrentSorter, FilterChangedArgs, GridOption, MultiColumnSort, OperatorType, Pagination, PaginationChangedArgs, SearchTerm, SingleColumnSort, SlickGrid } from '@slickgrid-universal/common'; import { type FieldType } from '@slickgrid-universal/common'; import type { OdataOption } from '../interfaces/index.js'; import { OdataQueryBuilderService } from './odataQueryBuilder.service.js'; export declare class GridOdataService implements BackendService { protected _currentFilters: CurrentFilter[]; protected _currentPagination: CurrentPagination | null; protected _currentSorters: CurrentSorter[]; protected _columns: Column[]; protected _grid: SlickGrid | undefined; protected _odataService: OdataQueryBuilderService; options?: Partial; pagination: Pagination | undefined; defaultOptions: OdataOption; /** Getter for the Column Definitions */ get columnDefinitions(): Column[]; /** Getter for the Odata Service */ get odataService(): OdataQueryBuilderService; /** Getter for the Grid Options pulled through the Grid Object */ protected get _gridOptions(): GridOption; constructor(); init(serviceOptions?: Partial, pagination?: Pagination, grid?: SlickGrid): void; buildQuery(): string; postProcess(processResult: any): void; clearFilters(): void; clearSorters(): void; updateOptions(serviceOptions?: Partial): void; removeColumnFilter(fieldName: string): void; /** Get the Filters that are currently used by the grid */ getCurrentFilters(): CurrentFilter[]; /** Get the Pagination that is currently used by the grid */ getCurrentPagination(): CurrentPagination | null; /** Get the Sorters that are currently used by the grid */ getCurrentSorters(): CurrentSorter[]; /** * Mapper for mathematical operators (ex.: <= is "le", > is "gt") * @param string operator * @returns string map */ mapOdataOperator(operator: string): string; resetPaginationOptions(): void; saveColumnFilter(fieldName: string, value: string, terms?: SearchTerm[]): void; processOnFilterChanged(_event: Event | undefined, args: FilterChangedArgs): string; processOnPaginationChanged(_event: Event | undefined, args: PaginationChangedArgs): string; processOnSortChanged(_event: Event | undefined, args: SingleColumnSort | MultiColumnSort): string; /** * loop through all columns to inspect filters & update backend service filters * @param columnFilters */ updateFilters(columnFilters: ColumnFilters | CurrentFilter[], isUpdatedByPresetOrDynamically?: boolean): void; /** * Update the pagination component with it's new page number and size * @param newPage * @param pageSize */ updatePagination(newPage: number, pageSize: number): void; /** * loop through all columns to inspect sorters & update backend service orderBy * @param columnFilters */ updateSorters(sortColumns?: ColumnSort[], presetSorters?: CurrentSorter[]): string; /** * Cast provided filters (could be in multiple format) into an array of ColumnFilter * @param columnFilters */ protected castFilterToColumnFilters(columnFilters: ColumnFilters | CurrentFilter[]): CurrentFilter[]; /** * Filter by a range of searchTerms (2 searchTerms OR 1 string separated by 2 dots "value1..value2") */ protected filterBySearchTermRange(fieldName: string, operator: OperatorType, searchTerms: SearchTerm[]): string; /** * Normalizes the search value according to field type and oData version. */ protected normalizeSearchValue(fieldType: FieldType, searchValue: any, version: number): any; } //# sourceMappingURL=grid-odata.service.d.ts.map