import { GetProperty } from "./Get.js"; import { PlainSort, Sort } from "./Sort.js"; import { Id } from "./Id.js"; import { ArrayLike } from "./Array.js"; import { Optional } from "./Types.js"; import { Construct } from "./Constructor.js"; import { List } from "./List.js"; //#region src/types/PageList.d.ts export type FilterValue = { label?: string; value: any; count?: number; }; export type Filter = { label?: string; field: string; shortField?: string; values: FilterValue[]; }; export declare const toFilter: (field: string, value: any) => Filter; export declare const toShortFilter: (field: string, shortField: string, value: any) => Filter; export type PageOptions = { take?: number; skip?: number; sort?: Sort[]; sorts?: PlainSort; filters?: Filter[]; }; export type PageListOptions = Exclude & { total?: number; }; export declare class PageList extends List { private _options?; get options(): Optional; get take(): number; get skip(): number; get total(): Optional; get sorts(): Optional; get filters(): Optional; get meta(): PageListOptions; get ids(): PageList; asc(p: GetProperty): PageList; desc(p: GetProperty): PageList; diff(others: ArrayLike): PageList; diffByKey(others: ArrayLike, key: keyof T & keyof U): PageList; symmetricDiff(others: ArrayLike): PageList; symmetricDiffByKey(others: ArrayLike, key: keyof T): PageList; intersect(others: ArrayLike): PageList; intersectByKey(others: ArrayLike, key: keyof T & keyof U): PageList; map(f: (value: T, index: number, array: T[]) => U, params?: unknown): PageList; flatMap(f: (this: This, value: T, index: number, array: T[]) => ReadonlyArray | U, params?: This): PageList; mapDefined(f: (value: T, index: number, array: T[]) => U, params?: unknown): PageList>; mapAsync(f: (i: T) => Promise): Promise>; areEqual(...items: ArrayLike): boolean; distinct(): PageList; distinctByKey(key: keyof T): PageList; distinctByValue(): PageList; filter(p: (value: T, index: number, array: T[]) => unknown, params?: unknown): PageList; accumulate(...keys: (keyof T)[]): PageList; concat(...items: ConcatArray[]): PageList; concat(...items: (T | ConcatArray)[]): PageList; reverse(): PageList; splice(start: number, deleteCount?: number): PageList; splice(start: number, deleteCount: number, ...items: T[]): PageList; remove(item: T): PageList; replace(key: keyof T, item: T): PageList; switch(item: T): PageList; defined(): PageList>; orElse(...alt: ArrayLike): Optional>; slice(start?: number, end?: number): PageList; update(p: (value: T, index: number, array: T[]) => unknown, val: T | ((v: U) => T)): PageList; updateFirst(p: (value: T, index: number, array: T[]) => unknown, val: T | ((v: U) => T)): PageList; updateFirstById(id: Id, val: T | ((v: U) => T)): PageList; updateById(id: Id, val: T | ((v: U) => T)): PageList; private setPageOptions; } export declare const isPageList: (l?: unknown) => l is PageList; export declare const toPageList: (items?: T[], options?: PageListOptions | PageList) => PageList; export declare const asPageList: (c: Construct, items?: PageList) => PageList; //#endregion //# sourceMappingURL=PageList.d.ts.map