import { Ref, VNodeChild } from 'vue'; import { Paging, TableColumnField } from '../../types'; import { XTableRequestColumnsProps } from '../../advance'; import { DefaultRow, XTableColumnProps, XTableEvents, XTableProps } from '../../basic'; export interface XTableRequestConfigColumnsProps extends Omit, 'content'> { content?: (scope: { index: number; row: D; }) => VNodeChild; search?: (scope: { query: QR; }) => VNodeChild; } export interface XTableRequestConfigEvents extends XTableEvents { prepare: [parameters: { path: PT; query: QR; }]; } export interface XTableRequestConfigProps extends Omit, 'border' | 'columns' | 'showOverflowTooltip'>, Pick, 'selectable'> { config: Record>; fields: () => { data: Ref; loading: Ref; update: (fields: TableColumnField[]) => PromiseLike; }; header?: (scope: { data: D[]; isFetching: boolean; paging: Paging; path: PT; query: QR; }) => VNodeChild; pagination?: boolean; paginationLayout?: string; request: () => { data: Ref; execute: () => PromiseLike; isFetching: Ref; paging: Ref; path: Ref; query: Ref; url: U; }; showSelection?: boolean; } 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: import('element-plus').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<{ data: Ref; isFetching: Ref; paging: Ref; path: Ref; query: Ref; reset: import('@vueuse/core').UseDebounceFnReturn<() => Promise>; search: import('@vueuse/core').UseDebounceFnReturn<() => Promise>; table: Ref<{ clearSelection: () => void | undefined; doLayout: () => void | undefined; getSelectionRows: () => DefaultRow[]; scrollBarRef: import('element-plus').ScrollbarInstance | undefined; scrollTo: (options: number | ScrollToOptions, yCoord?: number) => void | undefined; setCurrentRow: (row: DefaultRow) => void | undefined; setScrollLeft: (left: number) => void | undefined; setScrollTop: (top: number) => void | undefined; toggleAllSelection: () => void | undefined; toggleRowSelection: (row: DefaultRow, selected?: boolean, ignoreSelectable?: boolean) => void | undefined; } | null | undefined, { clearSelection: () => void | undefined; doLayout: () => void | undefined; getSelectionRows: () => DefaultRow[]; scrollBarRef: import('element-plus').ScrollbarInstance | undefined; scrollTo: (options: number | ScrollToOptions, yCoord?: number) => void | undefined; setCurrentRow: (row: DefaultRow) => void | undefined; setScrollLeft: (left: number) => void | undefined; setScrollTop: (top: number) => void | undefined; toggleAllSelection: () => void | undefined; toggleRowSelection: (row: DefaultRow, selected?: boolean, ignoreSelectable?: boolean) => void | undefined; } | null | undefined>; url: U; }>) => void; attrs: any; slots: {}; emit: ((evt: "headerDragend", newWidth: number, oldWidth: number, column: import('element-plus').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]; }) & {};