import { TableColumnCtx } from 'element-plus'; import { CSSProperties, Ref, VNodeChild } from 'vue'; import { Paging } from '../../types'; import { XTableFlexEvents, XTableFlexProps } from '../../advance'; import { DefaultRow, XTableColumnProps } from '../../basic'; export interface XTableRequestColumnsProps extends XTableColumnProps { content?: (scope: { index: number; row: D; }) => VNodeChild; } export interface XTableRequestEvents extends XTableFlexEvents { prepare: [parameters: { path: PT; query: QR; }]; } export interface XTableRequestProps extends Omit, 'columns' | 'data'> { cellClassName?: ((scope: { column: TableColumnCtx; columnIndex: number; row: D; rowIndex: number; }) => string) | string; cellStyle?: ((scope: { column: TableColumnCtx; columnIndex: number; row: D; rowIndex: number; }) => CSSProperties) | CSSProperties; columns: XTableRequestColumnsProps[]; footer?: (scope: { query: QR; }) => VNodeChild; header?: (scope: { query: QR; }) => VNodeChild; pagination?: boolean; paginationLayout?: string; request: () => { data: Ref; execute: () => PromiseLike; isFetching: Ref; paging: Ref; path: Ref; query: Ref; url: U; }; rowClassName?: ((scope: { row: D; rowIndex: number; }) => string) | string; rowStyle?: ((scope: { row: D; rowIndex: number; }) => CSSProperties) | CSSProperties; } declare const __VLS_export: (__VLS_props: NonNullable>["props"], __VLS_ctx?: __VLS_PrettifyLocal>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable>["expose"], __VLS_setup?: Promise<{ props: import('vue').PublicProps & __VLS_PrettifyLocal & { onHeaderDragend?: ((newWidth: number, oldWidth: number, column: TableColumnCtx) => any) | undefined; onRowClick?: ((row: D) => any) | undefined; onRowDblclick?: ((row: D) => any) | undefined; onScroll?: ((data: { scrollLeft: number; scrollTop: number; }) => any) | undefined; onSelectionChange?: ((rows: D[]) => any) | undefined; onPrepare?: ((parameters: { path: PT; query: QR; }) => any) | undefined; }> & (typeof globalThis extends { __VLS_PROPS_FALLBACK: infer P; } ? P : {}); expose: (exposed: import('vue').ShallowUnwrapRef<{ clearSelection: () => void | undefined; data: Ref; isFetching: Ref; paging: Ref; path: Ref; query: Ref; reset: import('@vueuse/core').UseDebounceFnReturn<() => Promise>; search: import('@vueuse/core').UseDebounceFnReturn<() => Promise>; url: U; }>) => void; attrs: any; slots: {}; emit: ((evt: "headerDragend", newWidth: number, oldWidth: number, column: TableColumnCtx) => void) & ((evt: "rowClick", row: D) => void) & ((evt: "rowDblclick", row: D) => void) & ((evt: "scroll", data: { scrollLeft: number; scrollTop: number; }) => void) & ((evt: "selectionChange", rows: D[]) => void) & ((evt: "prepare", parameters: { path: PT; query: QR; }) => void); }>) => import('vue').VNode & { __ctx?: NonNullable>; }; declare const _default: typeof __VLS_export; export default _default; type __VLS_PrettifyLocal = (T extends any ? { [K in keyof T]: T[K]; } : { [K in keyof T as K]: T[K]; }) & {};