import { ElTextCellColor, ElTextCellStyle } from '../ElTextCell.vue'; import { MobileTableFiltersStatus } from './ElMobileTable.vue'; import { DataControls, TableColumn, SortStatus } from './ElServerSideTable.vue'; import { ElResponsiveTableProps, ResponsiveTableColumn, ResponsiveDataRow } from './ElResponsiveTable.vue'; export type ResponsiveServerSideTableColumn = Pick & { desktopBehaviour?: Pick; filter?: ResponsiveTableColumn['filter']; } & Pick; export type ResponsiveDataControls = Pick & ({ tableType: 'desktop'; sortStatus: SortStatus; } | { tableType: 'mobile'; mobileFiltersStatus: MobileTableFiltersStatus; }); export type ElServerSideResponsiveTableDataController = (args: ResponsiveDataControls) => Promise<{ data: ResponsiveDataRow[]; totalRows: number; }>; export type ElServerSideResponsiveTableProps = Pick & { columns: ResponsiveServerSideTableColumn[]; dataController: ElServerSideResponsiveTableDataController; rowsPerPage?: number; }; declare function __VLS_template(): { mobile?(_: {}): any; }; declare const __VLS_component: import('vue').DefineComponent<__VLS_TypePropsToRuntimeProps, { selectRows: (ids: string[]) => void; resetAllAndFetch: () => Promise | undefined; unselectAllRows: () => void; getDataRows: () => { id: string; rowNotSelectable?: boolean | undefined; relatedObject?: any; cells: ({ type?: "default" | undefined; avatar?: { picture?: string | undefined; label?: string | undefined; } | undefined; mainText: string; mainTextColor?: ElTextCellColor | undefined; mainTextStyle?: ElTextCellStyle | undefined; clickAction?: ((payload?: PointerEvent) => void) | undefined; subText?: string | undefined; sortableAndFilterableValue?: string | undefined; mainIconTooltip?: string | undefined; subIconTooltip?: string | undefined; desktopBehaviour?: { mainIcon?: { name: import('..').IconNames; color?: ("pink" | "yellow" | "orange" | "cyan" | "rose" | "green" | "brand-blue" | "brand-green" | "red" | "purple" | "indigo") | undefined; solid?: boolean | undefined; cursorPointer?: boolean | undefined; disabled?: boolean | undefined; } | undefined; subIcon?: { name: import('..').IconNames; color?: ("pink" | "yellow" | "orange" | "cyan" | "rose" | "green" | "brand-blue" | "brand-green" | "red" | "purple" | "indigo") | undefined; solid?: boolean | undefined; cursorPointer?: boolean | undefined; disabled?: boolean | undefined; } | undefined; truncateSubText?: boolean | undefined; longText?: boolean | undefined; } | undefined; mobileBehaviour?: { tertiaryText?: string | undefined; amountText?: string | undefined; timeText?: string | undefined; } | undefined; } | { type: "tag"; sortableAndFilterableValue?: string | undefined; text?: string | undefined; color?: import('..').ElTagColor | undefined; desktopBehaviour?: { tag: { size?: import('..').ElTagSize | undefined; color?: import('..').ElTagColor | undefined; outlined?: boolean | undefined; leadingIcon?: { name: import('..').IconNames; color?: ("pink" | "yellow" | "orange" | "cyan" | "rose" | "green" | "brand-blue" | "brand-green" | "red" | "purple" | "indigo") | undefined; solid?: boolean | undefined; cursorPointer?: boolean | undefined; disabled?: boolean | undefined; } | undefined; trailingIcon?: { name: import('..').IconNames; color?: ("pink" | "yellow" | "orange" | "cyan" | "rose" | "green" | "brand-blue" | "brand-green" | "red" | "purple" | "indigo") | undefined; solid?: boolean | undefined; cursorPointer?: boolean | undefined; disabled?: boolean | undefined; } | undefined; key?: (string | number | symbol) | undefined; ref?: any; ref_for?: boolean | undefined; ref_key?: string | undefined; onVnodeBeforeMount?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeMounted?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeBeforeUpdate?: (((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void) | ((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void)[]) | undefined; onVnodeUpdated?: (((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void) | ((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void)[]) | undefined; onVnodeBeforeUnmount?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeUnmounted?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; class?: unknown; style?: unknown; readonly text: string; }; subText?: string | undefined; truncateSubText?: boolean | undefined; } | undefined; } | { type: "action"; buttons?: { type?: import('vue').ButtonHTMLAttributes["type"]; size?: import('../ElButton.vue').ElButtonSize | undefined; label?: string | undefined; onClick?: ((() => unknown) | (() => Promise)) | undefined; disabled?: boolean | undefined; icon?: { name: import('..').IconNames; color?: ("pink" | "yellow" | "orange" | "cyan" | "rose" | "green" | "brand-blue" | "brand-green" | "red" | "purple" | "indigo") | undefined; solid?: boolean | undefined; cursorPointer?: boolean | undefined; disabled?: boolean | undefined; } | undefined; error?: boolean | undefined; dark?: boolean | undefined; loading?: boolean | undefined; variant?: import('../ElButton.vue').ElButtonVariant | undefined; loadOnClick?: boolean | undefined; key?: (string | number | symbol) | undefined; ref?: any; ref_for?: boolean | undefined; ref_key?: string | undefined; onVnodeBeforeMount?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeMounted?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeBeforeUpdate?: (((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void) | ((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void)[]) | undefined; onVnodeUpdated?: (((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void) | ((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void)[]) | undefined; onVnodeBeforeUnmount?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeUnmounted?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; class?: unknown; style?: unknown; readonly iconRight?: boolean | undefined; id?: string | undefined; }[] | undefined; iconButtons?: { size?: import('..').ElIconButtonSize | undefined; disabled?: boolean | undefined; badge?: (string | boolean) | undefined; error?: boolean | undefined; loading?: boolean | undefined; tooltip?: string | undefined; tooltipDelay?: (string | number) | undefined; badgeColor?: import('..').ElBadgeColors | undefined; showTooltipOnMobile?: boolean | undefined; hideTooltipOnChange?: boolean | undefined; key?: (string | number | symbol) | undefined; ref?: any; ref_for?: boolean | undefined; ref_key?: string | undefined; onVnodeBeforeMount?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeMounted?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeBeforeUpdate?: (((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void) | ((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void)[]) | undefined; onVnodeUpdated?: (((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void) | ((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void)[]) | undefined; onVnodeBeforeUnmount?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeUnmounted?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; class?: unknown; style?: unknown; onClick?: (() => any) | undefined; readonly icon: { name: import('..').IconNames; color?: ("pink" | "yellow" | "orange" | "cyan" | "rose" | "green" | "brand-blue" | "brand-green" | "red" | "purple" | "indigo") | undefined; solid?: boolean | undefined; cursorPointer?: boolean | undefined; disabled?: boolean | undefined; }; id?: string | undefined; }[] | undefined; dropdown?: { title?: string | undefined; minWidth?: number | undefined; maxHeight?: import('..').ElDropdownMaxHeight | undefined; action?: { type?: import('vue').ButtonHTMLAttributes["type"]; key?: (string | number | symbol) | undefined; ref?: any; ref_for?: boolean | undefined; ref_key?: string | undefined; onVnodeBeforeMount?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeMounted?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeBeforeUpdate?: (((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void) | ((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void)[]) | undefined; onVnodeUpdated?: (((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void) | ((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void)[]) | undefined; onVnodeBeforeUnmount?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeUnmounted?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; class?: unknown; style?: unknown; label?: string | undefined; onClick?: ((() => unknown) | (() => Promise)) | undefined; disabled?: boolean | undefined; icon?: { name: import('..').IconNames; color?: ("pink" | "yellow" | "orange" | "cyan" | "rose" | "green" | "brand-blue" | "brand-green" | "red" | "purple" | "indigo") | undefined; solid?: boolean | undefined; cursorPointer?: boolean | undefined; disabled?: boolean | undefined; } | undefined; error?: boolean | undefined; dark?: boolean | undefined; loading?: boolean | undefined; readonly iconRight?: boolean | undefined; loadOnClick?: boolean | undefined; } | undefined; isOpen?: boolean | undefined; iconButton?: { size?: import('..').ElIconButtonSize | undefined; disabled?: boolean | undefined; badge?: (string | boolean) | undefined; error?: boolean | undefined; loading?: boolean | undefined; tooltip?: string | undefined; tooltipDelay?: (string | number) | undefined; badgeColor?: import('..').ElBadgeColors | undefined; showTooltipOnMobile?: boolean | undefined; hideTooltipOnChange?: boolean | undefined; key?: (string | number | symbol) | undefined; ref?: any; ref_for?: boolean | undefined; ref_key?: string | undefined; onVnodeBeforeMount?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeMounted?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeBeforeUpdate?: (((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void) | ((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void)[]) | undefined; onVnodeUpdated?: (((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void) | ((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void)[]) | undefined; onVnodeBeforeUnmount?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeUnmounted?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; class?: unknown; style?: unknown; onClick?: (() => any) | undefined; readonly icon: { name: import('..').IconNames; color?: ("pink" | "yellow" | "orange" | "cyan" | "rose" | "green" | "brand-blue" | "brand-green" | "red" | "purple" | "indigo") | undefined; solid?: boolean | undefined; cursorPointer?: boolean | undefined; disabled?: boolean | undefined; }; } | undefined; multiple?: boolean | undefined; key?: (string | number | symbol) | undefined; ref?: any; ref_for?: boolean | undefined; ref_key?: string | undefined; onVnodeBeforeMount?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeMounted?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeBeforeUpdate?: (((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void) | ((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void)[]) | undefined; onVnodeUpdated?: (((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void) | ((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void)[]) | undefined; onVnodeBeforeUnmount?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeUnmounted?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; class?: unknown; style?: unknown; readonly left?: boolean | undefined; readonly right?: boolean | undefined; readonly items: { onClick?: (() => void) | undefined; text?: string | undefined; avatar?: { avatarUrl: string | null | undefined; role: import('..').Role; } | undefined; color?: ("primary" | "secondary") | undefined; disabled?: boolean | undefined; leadingIcon?: { name: import('..').IconNames; color?: ("pink" | "yellow" | "orange" | "cyan" | "rose" | "green" | "brand-blue" | "brand-green" | "red" | "purple" | "indigo") | undefined; solid?: boolean | undefined; cursorPointer?: boolean | undefined; disabled?: boolean | undefined; } | undefined; semiboldText?: string | undefined; check?: boolean | undefined; focused?: boolean | undefined; key?: (string | number | symbol) | undefined; ref?: any; ref_for?: boolean | undefined; ref_key?: string | undefined; onVnodeBeforeMount?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeMounted?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeBeforeUpdate?: (((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void) | ((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void)[]) | undefined; onVnodeUpdated?: (((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void) | ((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void)[]) | undefined; onVnodeBeforeUnmount?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeUnmounted?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; class?: unknown; style?: unknown; }[]; "onClick:action"?: (() => any) | undefined; "onUpdate:is-open"?: ((isOpen: boolean) => any) | undefined; disabled?: boolean | undefined; } | undefined; sortableAndFilterableValue?: string | undefined; mobileBehaviour?: { primary: { type?: import('vue').ButtonHTMLAttributes["type"]; size?: import('../ElButton.vue').ElButtonSize | undefined; label?: string | undefined; onClick?: ((() => unknown) | (() => Promise)) | undefined; disabled?: boolean | undefined; icon?: { name: import('..').IconNames; color?: ("pink" | "yellow" | "orange" | "cyan" | "rose" | "green" | "brand-blue" | "brand-green" | "red" | "purple" | "indigo") | undefined; solid?: boolean | undefined; cursorPointer?: boolean | undefined; disabled?: boolean | undefined; } | undefined; error?: boolean | undefined; dark?: boolean | undefined; loading?: boolean | undefined; variant?: import('../ElButton.vue').ElButtonVariant | undefined; loadOnClick?: boolean | undefined; key?: (string | number | symbol) | undefined; ref?: any; ref_for?: boolean | undefined; ref_key?: string | undefined; onVnodeBeforeMount?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeMounted?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeBeforeUpdate?: (((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void) | ((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void)[]) | undefined; onVnodeUpdated?: (((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void) | ((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void)[]) | undefined; onVnodeBeforeUnmount?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeUnmounted?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; class?: unknown; style?: unknown; readonly iconRight?: boolean | undefined; }; secondary?: { type?: import('vue').ButtonHTMLAttributes["type"]; size?: import('../ElButton.vue').ElButtonSize | undefined; label?: string | undefined; onClick?: ((() => unknown) | (() => Promise)) | undefined; disabled?: boolean | undefined; icon?: { name: import('..').IconNames; color?: ("pink" | "yellow" | "orange" | "cyan" | "rose" | "green" | "brand-blue" | "brand-green" | "red" | "purple" | "indigo") | undefined; solid?: boolean | undefined; cursorPointer?: boolean | undefined; disabled?: boolean | undefined; } | undefined; error?: boolean | undefined; dark?: boolean | undefined; loading?: boolean | undefined; variant?: import('../ElButton.vue').ElButtonVariant | undefined; loadOnClick?: boolean | undefined; key?: (string | number | symbol) | undefined; ref?: any; ref_for?: boolean | undefined; ref_key?: string | undefined; onVnodeBeforeMount?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeMounted?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeBeforeUpdate?: (((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void) | ((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void)[]) | undefined; onVnodeUpdated?: (((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void) | ((vnode: import('vue').VNode, oldVNode: import('vue').VNode) => void)[]) | undefined; onVnodeBeforeUnmount?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; onVnodeUnmounted?: (((vnode: import('vue').VNode) => void) | ((vnode: import('vue').VNode) => void)[]) | undefined; class?: unknown; style?: unknown; readonly iconRight?: boolean | undefined; } | undefined; } | undefined; })[]; mobileBehaviour?: { trailingIcon?: { name: import('..').IconNames; color?: ("pink" | "yellow" | "orange" | "cyan" | "rose" | "green" | "brand-blue" | "brand-green" | "red" | "purple" | "indigo") | undefined; solid?: boolean | undefined; cursorPointer?: boolean | undefined; disabled?: boolean | undefined; } | undefined; } | undefined; }[]; getSelectedRows: () => ResponsiveDataRow[]; triggerDataController: () => Promise; closeMobileTableItemDetails: () => void; }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { "rows-selected": (rows: ResponsiveDataRow[]) => void; "mobile:bulk:click": (rows: ResponsiveDataRow[]) => void; "mobile:destructive:click": (rows: ResponsiveDataRow[]) => void; "mobile:selection:exit": () => void; "mobile:item:click": (row: ResponsiveDataRow) => void; }, string, import('vue').PublicProps, Readonly>> & { "onRows-selected"?: ((rows: ResponsiveDataRow[]) => any) | undefined; "onMobile:bulk:click"?: ((rows: ResponsiveDataRow[]) => any) | undefined; "onMobile:destructive:click"?: ((rows: ResponsiveDataRow[]) => any) | undefined; "onMobile:selection:exit"?: (() => any) | undefined; "onMobile:item:click"?: ((row: ResponsiveDataRow) => any) | undefined; }, {}, {}>; declare const _default: __VLS_WithTemplateSlots>; export default _default; type __VLS_NonUndefinedable = T extends undefined ? never : T; type __VLS_TypePropsToRuntimeProps = { [K in keyof T]-?: {} extends Pick ? { type: import('vue').PropType<__VLS_NonUndefinedable>; } : { type: import('vue').PropType; required: true; }; }; type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; };