/** biome-ignore-all lint/complexity/useOptionalChain: type maybe is false */ import type { Emitter } from '@mantou/gem/lib/decorators'; import { GemElement } from '@mantou/gem/lib/element'; import type { Store } from '@mantou/gem/lib/store'; import type { ContextMenuItem } from '../elements/contextmenu'; import type { DuoyunRouteElement } from '../elements/route'; import type { Column, DuoyunTableElement } from '../elements/table'; import type { PaginationStore } from '../helper/store'; import { ComparerType } from '../lib/utils'; import type { FilterableOptions } from './filter-form'; import '../elements/button'; import '../elements/input'; import '../elements/loading'; import '../elements/pagination'; import '../elements/scroll-box'; import '../elements/table'; import '../elements/tag'; import './filter-form'; export type PatTableColumn = Column & { sortable?: boolean; filterOptions?: false | (FilterableOptions & { field?: keyof T | string[]; /**menu width */ width?: string; /**local search */ getSearchText?: (e: T) => string; /**local compare */ getCompareValue?: (e: T) => any; }); }; export type SelectedActions = (ContextMenuItem & { handle?: (data?: T) => void | Promise; })[]; type Filter = { field: string; cType: ComparerType; value: any; }; type Sort = 'asc' | 'des'; type LocationStore = Store>; export type FetchEventDetail = Omit & { page: number; size: number; search: string; filters: Filter[]; pageKey: string; sort: Record; }; /** * !WARNING * * field not contain `,`, `filters` field and `sort` key use `,` split */ export declare class DyPatTableElement extends GemElement { #private; filterable: boolean; selectable: boolean; pagesize: number; sizes?: number[]; data?: T[] | (T | undefined)[]; paginationStore?: Store>; locationStore?: LocationStore; rowKey?: DuoyunTableElement['rowKey']; getRowStyle?: DuoyunTableElement['getRowStyle']; expandedRowRender?: DuoyunTableElement['expandedRowRender']; getActions?: DuoyunTableElement['getActions']; getSelectedActions?: (selections: any[]) => SelectedActions; expand: Emitter; fetch: Emitter; columns: PatTableColumn[]; getText: (key: 'filter' | 'removeItemFromSelection' | 'removeAllSelection' | 'addToSelection' | 'addPageAllToSelection' | 'addAllToSelection' | ComparerType) => string; render: () => import("@mantou/gem/lib/lit-html").TemplateResult; } export {}; //# sourceMappingURL=table.d.ts.map