import { FilterStatus } from './custom-cells/FilterCell/types'; import { AreaSelectionConfig, AreaSelectionRange, AutoRowHeightConfig, ColResizableConfig, DragRowConfig, ExpandConfig, ExperimentalConfig, FooterConfig, HeaderDragConfig, HighlightConfig, Order, PrivateRowDT, PrivateStkTableColumn, RowActiveOption, ScrollToOptions, SeqConfig, SortConfig, StkTableColumn, TreeConfig, UniqKey, UniqKeyProp } from './types/index'; import { ScrollbarOptions } from './useScrollbar'; declare const _default: __VLS_WithTemplateSlots; /** 是否高亮鼠标悬浮的行 */ rowHover?: boolean; /** 是否高亮选中的行 */ rowActive?: boolean | RowActiveOption; /** * @deprecated */ rowCurrentRevokable?: boolean; /** 表头行高。default = rowHeight */ headerRowHeight?: number | string; /** 表尾行高。default = rowHeight */ footerRowHeight?: number | string; /** 虚拟滚动 */ virtual?: boolean; /** x轴虚拟滚动(必须设置列宽)*/ virtualX?: boolean; /** 表格列配置 */ columns?: StkTableColumn[]; /** 表格数据源 */ dataSource?: any[]; /** 行唯一键 (行唯一值不能为undefined) */ rowKey?: UniqKeyProp; /** 列唯一键 */ colKey?: UniqKeyProp; /** 空值展示文字 */ emptyCellText?: string | ((option: { row: any; col: StkTableColumn; }) => string); /** 暂无数据兜底高度是否撑满 */ noDataFull?: boolean; /** 是否展示暂无数据 */ showNoData?: boolean; /** 是否服务端排序,true则不排序数据 */ sortRemote?: boolean; /** 表头是否溢出展示... */ showHeaderOverflow?: boolean; /** 表体溢出是否展示... */ showOverflow?: boolean; /** 是否增加行hover class $*$ rename*/ showTrHoverClass?: boolean; /** 是否高亮鼠标悬浮的单元格 */ cellHover?: boolean; /** 是否高亮选中的单元格 */ cellActive?: boolean; /** 单元格再次点击否可以取消选中 (cellActive=true)*/ selectedCellRevokable?: boolean; /** 是否启用单元格范围选中(拖拽选区) */ areaSelection?: boolean | AreaSelectionConfig; /** 表头是否可拖动。支持回调函数。 */ headerDrag?: boolean | HeaderDragConfig; /** * 给行附加className
* FIXME: 是否需要优化,因为不传此prop会使表格行一直执行空函数,是否有影响 */ rowClassName?: (row: any, i: number) => string | undefined; /** * 列宽是否可拖动(需要设置v-model:columns)
* **不要设置**列minWidth,**必须**设置width
* 列宽拖动时,每一列都必须要有width,且minWidth/maxWidth不生效。table width会变为"fit-content"。 * - 会自动更新props.columns中的with属性 */ colResizable?: boolean | ColResizableConfig; /** 可拖动至最小的列宽 */ colMinWidth?: number; /** * 单元格分割线。 * 默认横竖都有 * "h" - 仅展示横线 * "v" - 仅展示竖线 * "body-v" - 仅表体展示竖线 */ bordered?: boolean | "h" | "v" | "body-v" | "body-h"; /** * 自动重新计算虚拟滚动高度宽度。默认true * [非响应式] * 传入方法表示resize后的回调 */ autoResize?: boolean | (() => void); /** 是否展示固定列阴影。为节省性能,默认false。 */ fixedColShadow?: boolean; /** 优化vue2 滚动 */ optimizeVue2Scroll?: boolean; /** 排序配置 */ sortConfig?: SortConfig; /** 隐藏头部title。可传入colKey数组 */ hideHeaderTitle?: boolean | string[]; /** 高亮配置 */ highlightConfig?: HighlightConfig; /** 序号列配置 */ seqConfig?: SeqConfig; /** 展开行配置 */ expandConfig?: ExpandConfig; /** 行拖动配置 */ dragRowConfig?: DragRowConfig; /** 树形配置 */ treeConfig?: TreeConfig; /** * 固定头,固定列实现方式。(非响应式) * * relative:固定列只会放在props.columns的两侧。 * - 如果列宽会变动则谨慎使用。 * - 多级表头固定列慎用 * * 低版本浏览器强制为'relative', */ cellFixedMode?: "sticky" | "relative"; /** * 是否平滑滚动。default: chrome < 85 ? true : false * - false: 使用 onwheel 滚动。为了防止滚动过快导致白屏。 * - true: 不使用 onwheel 滚动。鼠标滚轮滚动时更加平滑。滚动过快时会白屏。 */ smoothScroll?: boolean; /** * 按整数行纵向滚动 * - scrollbar:仅拖动滚动条生效 */ scrollRowByRow?: boolean | "scrollbar"; /** * 自定义滚动条配置 * - false: 禁用自定义滚动条 * - true: 启用默认配置的自定义滚动条 * - ScrollbarOptions: 启用并配置自定义滚动条 */ scrollbar?: boolean | ScrollbarOptions; /** * 实验性功能配置 */ experimental?: ExperimentalConfig; /** 表格底部合计行数据 */ footerData?: any[]; /** 表格底部配置 */ footerConfig?: FooterConfig; }>, { width: string; fixedMode: boolean; stripe: boolean; minWidth: string; maxWidth: string; headless: boolean; theme: string; rowHeight: number; autoRowHeight: () => false; footerData: () => never[]; rowHover: boolean; rowActive: () => Required>; rowCurrentRevokable: boolean; headerRowHeight: number; footerRowHeight: number; virtual: boolean; virtualX: boolean; columns: () => never[]; dataSource: () => never[]; rowKey: string; colKey: undefined; emptyCellText: string; noDataFull: boolean; showNoData: boolean; sortRemote: boolean; showHeaderOverflow: boolean; showOverflow: boolean; showTrHoverClass: boolean; cellHover: boolean; cellActive: boolean; selectedCellRevokable: boolean; areaSelection: boolean; headerDrag: () => false; rowClassName: () => ""; colResizable: () => false; colMinWidth: number; bordered: boolean; autoResize: boolean; fixedColShadow: boolean; optimizeVue2Scroll: boolean; sortConfig: () => { emptyToBottom: false; stringLocaleCompare: false; sortChildren: false; }; hideHeaderTitle: boolean; highlightConfig: () => {}; seqConfig: () => {}; expandConfig: () => {}; dragRowConfig: () => {}; treeConfig: () => {}; cellFixedMode: string; smoothScroll: boolean; scrollRowByRow: boolean; scrollbar: boolean; experimental: () => {}; footerConfig: () => { position: string; }; }>>, { /** * 重新计算虚拟列表宽高 * * en: calc virtual scroll x & y info * @see {@link initVirtualScroll} */ initVirtualScroll: (height?: number) => void; /** * 重新计算虚拟列表宽度 * * en: calc virtual scroll x * @see {@link initVirtualScrollX} */ initVirtualScrollX: () => void; /** * 重新计算虚拟列表高度 * * en: calc virtual scroll y * @see {@link initVirtualScrollY} */ initVirtualScrollY: (height?: number) => void; /** * 清空 mergeCells 结果缓存并强制重算合并结果 * * en: Clear mergeCells result cache and force recomputation * @see {@link clearMergeCellsCache} */ clearMergeCellsCache: () => void; /** * 选中一行 * * en:select a row * @see {@link setCurrentRow} */ setCurrentRow: (rowKeyOrRow: string | undefined | any, option?: { silent?: boolean; deep?: boolean; }) => void; /** * 取消选中单元格 * * en: set highlight active cell (props.cellActive=true) * @see {@link setSelectedCell} */ setSelectedCell: (row?: any, col?: StkTableColumn, option?: { silent: boolean; }) => void; /** * 设置高亮单元格 * * en: Set highlight cell * @see {@link setHighlightDimCell} */ setHighlightDimCell: (rowKeyValue: UniqKey, colKeyValue: string, option?: import('./types/highlightDimOptions').HighlightDimCellOption) => void; /** * 设置高亮行 * * en: Set highlight row * @see {@link setHighlightDimRow} */ setHighlightDimRow: (rowKeyValues: UniqKey[], option?: import('./types/highlightDimOptions').HighlightDimRowOption) => void; /** * 表格排序列colKey * * en: Table sort column colKey */ sortCol: import('vue').ComputedRef; /** * 排序状态数组 * * en: Multi-column sort states array */ sortStates: import('vue').Ref<{ key?: any; dataIndex: string; sortField?: string | number | symbol | undefined; sortType?: "number" | "string" | undefined; order: Order; }[], { key?: any; dataIndex: string; sortField?: string | number | symbol | undefined; sortType?: "number" | "string" | undefined; order: Order; }[] | import('.').SortState[]>; /** * 表格排序列顺序 * * en: get current sort info * @see {@link getSortColumns} */ getSortColumns: () => { key: string | number | symbol | undefined; order: Order; }[]; /** * 设置表头排序状态 * * en: Set the sort status of the table header * @see {@link setSorter} */ setSorter: (colKey: string, order: Order, option?: { sortOption?: import('.').SortOption | undefined; force?: boolean; silent?: boolean; sort?: boolean; append?: boolean; }) => any[]; /** * 重置sorter状态 * * en: Reset the sorter status * @see {@link resetSorter} */ resetSorter: () => void; /** * 滚动至 * - 数字参数:scrollTo(top, left),null 表示不改变该轴 * - 对象参数:scrollTo({ top, left, behavior }),top/left 可传像素数字或 { index, key, px } 目标 * * en: Scroll to position or target row/column * @see {@link scrollTo} */ scrollTo: { (top?: number | null, left?: number | null): void; (options: ScrollToOptions): void; }; /** * 获取表格数据 * * en: Get table data * @see {@link getTableData} */ getTableData: () => any[]; getRowIndex: (row: any) => number; getColumnIndex: (column: PrivateStkTableColumn) => number; /** * 设置展开的行 * * en: Set expanded rows * @see {@link setRowExpand} */ setRowExpand: (rowKeyOrRow: string | undefined | PrivateRowDT, expand?: boolean | null, data?: { col?: StkTableColumn; silent?: boolean; }) => void; /** * 不定行高时,如果行高有变化,则调用此方法更新行高。 * * en: When the row height is not fixed, call this method to update the row height if the row height changes. * @see {@link setAutoHeight} */ setAutoHeight: (rowKey: UniqKey, height?: number | null) => void; /** * 清除所有行高 * * en: Clear all row heights * @see {@link clearAllAutoHeight} */ clearAllAutoHeight: () => void; /** * 设置树节点展开状态 * * en: Set tree node expand state * @see {@link setTreeExpand} */ setTreeExpand: (row: (UniqKey | (PrivateRowDT & { children?: (PrivateRowDT & /*elided*/ any)[]; })) | (UniqKey | (PrivateRowDT & { children?: (PrivateRowDT & /*elided*/ any)[]; }))[], option?: { expand?: boolean; all?: boolean; level?: number; parents?: boolean; }) => void; /** * 获取拖选选中的单元格信息 * * en: Get selected cells info (areaSelection=true) * @see {@link getSelectedArea} */ getSelectedArea: () => { rows: any[]; cols: StkTableColumn[]; ranges: AreaSelectionRange[]; }; /** * 设置拖选选区 * * en: Set cell selection range (areaSelection=true) * @see {@link setAreaSelection} */ setAreaSelection: (ranges?: import('./types/index').AreaSelectionSetterRange | undefined, option?: import('./types/index').AreaSelectionSetterOption) => AreaSelectionRange[]; /** * 清空拖选选区 * * en: Clear cell selection range (areaSelection=true) * @see {@link clearSelectedArea} */ clearSelectedArea: () => void; /** * 复制选区内容到剪贴板 * * en: Copy selected area to clipboard (areaSelection=true) * @see {@link copySelectedArea} */ copySelectedArea: () => string; /** * 设置筛选状态(Beta) * * en: Set filter status(Beta) * @see {@link setFilter} */ setFilter: (status: Record | null, option?: { remote?: boolean; silent?: boolean; }) => void; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { "sort-change": (col: StkTableColumn | null, order: Order, data: any[], sortConfig: SortConfig) => void; "row-click": (ev: MouseEvent, row: any, data: { rowIndex: number; }) => void; "current-change": (ev: MouseEvent | null, row: any, data: { select: boolean; }) => void; "cell-selected": (ev: MouseEvent | null, data: { select: boolean; row: any | undefined; col: StkTableColumn | undefined; }) => void; "row-dblclick": (ev: MouseEvent, row: any, data: { rowIndex: number; }) => void; "header-row-menu": (ev: MouseEvent) => void; "row-menu": (ev: MouseEvent, row: any, data: { rowIndex: number; }) => void; "cell-click": (ev: MouseEvent, row: any, col: StkTableColumn, data: { rowIndex: number; }) => void; "cell-mouseenter": (ev: MouseEvent, row: any, col: StkTableColumn) => void; "cell-mouseleave": (ev: MouseEvent, row: any, col: StkTableColumn) => void; "cell-mouseover": (ev: MouseEvent, row: any, col: StkTableColumn) => void; "cell-mousedown": (ev: MouseEvent, row: any, col: StkTableColumn, data: { rowIndex: number; }) => void; "header-cell-click": (ev: MouseEvent, col: StkTableColumn) => void; scroll: (ev: Event, data: { startIndex: number; endIndex: number; }) => void; "scroll-x": (ev: Event) => void; "col-order-change": (dragStartKey: string, targetColKey: string) => void; "th-drag-start": (dragStartKey: string) => void; "th-drop": (targetColKey: string) => void; "row-order-change": (dragStartKey: string, targetRowKey: string) => void; "col-resize": (col: StkTableColumn) => void; "toggle-row-expand": (data: { expanded: boolean; row: any; col: StkTableColumn | null; }) => void; "toggle-tree-expand": (data: { expanded: boolean; row: any; col: StkTableColumn | null; }) => void; "area-selection-change": (ranges: AreaSelectionRange[]) => void; "filter-change": (status: Record) => void; "update:columns": (cols: StkTableColumn[]) => void; }, string, import('vue').PublicProps, Readonly; /** 是否高亮鼠标悬浮的行 */ rowHover?: boolean; /** 是否高亮选中的行 */ rowActive?: boolean | RowActiveOption; /** * @deprecated */ rowCurrentRevokable?: boolean; /** 表头行高。default = rowHeight */ headerRowHeight?: number | string; /** 表尾行高。default = rowHeight */ footerRowHeight?: number | string; /** 虚拟滚动 */ virtual?: boolean; /** x轴虚拟滚动(必须设置列宽)*/ virtualX?: boolean; /** 表格列配置 */ columns?: StkTableColumn[]; /** 表格数据源 */ dataSource?: any[]; /** 行唯一键 (行唯一值不能为undefined) */ rowKey?: UniqKeyProp; /** 列唯一键 */ colKey?: UniqKeyProp; /** 空值展示文字 */ emptyCellText?: string | ((option: { row: any; col: StkTableColumn; }) => string); /** 暂无数据兜底高度是否撑满 */ noDataFull?: boolean; /** 是否展示暂无数据 */ showNoData?: boolean; /** 是否服务端排序,true则不排序数据 */ sortRemote?: boolean; /** 表头是否溢出展示... */ showHeaderOverflow?: boolean; /** 表体溢出是否展示... */ showOverflow?: boolean; /** 是否增加行hover class $*$ rename*/ showTrHoverClass?: boolean; /** 是否高亮鼠标悬浮的单元格 */ cellHover?: boolean; /** 是否高亮选中的单元格 */ cellActive?: boolean; /** 单元格再次点击否可以取消选中 (cellActive=true)*/ selectedCellRevokable?: boolean; /** 是否启用单元格范围选中(拖拽选区) */ areaSelection?: boolean | AreaSelectionConfig; /** 表头是否可拖动。支持回调函数。 */ headerDrag?: boolean | HeaderDragConfig; /** * 给行附加className
* FIXME: 是否需要优化,因为不传此prop会使表格行一直执行空函数,是否有影响 */ rowClassName?: (row: any, i: number) => string | undefined; /** * 列宽是否可拖动(需要设置v-model:columns)
* **不要设置**列minWidth,**必须**设置width
* 列宽拖动时,每一列都必须要有width,且minWidth/maxWidth不生效。table width会变为"fit-content"。 * - 会自动更新props.columns中的with属性 */ colResizable?: boolean | ColResizableConfig; /** 可拖动至最小的列宽 */ colMinWidth?: number; /** * 单元格分割线。 * 默认横竖都有 * "h" - 仅展示横线 * "v" - 仅展示竖线 * "body-v" - 仅表体展示竖线 */ bordered?: boolean | "h" | "v" | "body-v" | "body-h"; /** * 自动重新计算虚拟滚动高度宽度。默认true * [非响应式] * 传入方法表示resize后的回调 */ autoResize?: boolean | (() => void); /** 是否展示固定列阴影。为节省性能,默认false。 */ fixedColShadow?: boolean; /** 优化vue2 滚动 */ optimizeVue2Scroll?: boolean; /** 排序配置 */ sortConfig?: SortConfig; /** 隐藏头部title。可传入colKey数组 */ hideHeaderTitle?: boolean | string[]; /** 高亮配置 */ highlightConfig?: HighlightConfig; /** 序号列配置 */ seqConfig?: SeqConfig; /** 展开行配置 */ expandConfig?: ExpandConfig; /** 行拖动配置 */ dragRowConfig?: DragRowConfig; /** 树形配置 */ treeConfig?: TreeConfig; /** * 固定头,固定列实现方式。(非响应式) * * relative:固定列只会放在props.columns的两侧。 * - 如果列宽会变动则谨慎使用。 * - 多级表头固定列慎用 * * 低版本浏览器强制为'relative', */ cellFixedMode?: "sticky" | "relative"; /** * 是否平滑滚动。default: chrome < 85 ? true : false * - false: 使用 onwheel 滚动。为了防止滚动过快导致白屏。 * - true: 不使用 onwheel 滚动。鼠标滚轮滚动时更加平滑。滚动过快时会白屏。 */ smoothScroll?: boolean; /** * 按整数行纵向滚动 * - scrollbar:仅拖动滚动条生效 */ scrollRowByRow?: boolean | "scrollbar"; /** * 自定义滚动条配置 * - false: 禁用自定义滚动条 * - true: 启用默认配置的自定义滚动条 * - ScrollbarOptions: 启用并配置自定义滚动条 */ scrollbar?: boolean | ScrollbarOptions; /** * 实验性功能配置 */ experimental?: ExperimentalConfig; /** 表格底部合计行数据 */ footerData?: any[]; /** 表格底部配置 */ footerConfig?: FooterConfig; }>, { width: string; fixedMode: boolean; stripe: boolean; minWidth: string; maxWidth: string; headless: boolean; theme: string; rowHeight: number; autoRowHeight: () => false; footerData: () => never[]; rowHover: boolean; rowActive: () => Required>; rowCurrentRevokable: boolean; headerRowHeight: number; footerRowHeight: number; virtual: boolean; virtualX: boolean; columns: () => never[]; dataSource: () => never[]; rowKey: string; colKey: undefined; emptyCellText: string; noDataFull: boolean; showNoData: boolean; sortRemote: boolean; showHeaderOverflow: boolean; showOverflow: boolean; showTrHoverClass: boolean; cellHover: boolean; cellActive: boolean; selectedCellRevokable: boolean; areaSelection: boolean; headerDrag: () => false; rowClassName: () => ""; colResizable: () => false; colMinWidth: number; bordered: boolean; autoResize: boolean; fixedColShadow: boolean; optimizeVue2Scroll: boolean; sortConfig: () => { emptyToBottom: false; stringLocaleCompare: false; sortChildren: false; }; hideHeaderTitle: boolean; highlightConfig: () => {}; seqConfig: () => {}; expandConfig: () => {}; dragRowConfig: () => {}; treeConfig: () => {}; cellFixedMode: string; smoothScroll: boolean; scrollRowByRow: boolean; scrollbar: boolean; experimental: () => {}; footerConfig: () => { position: string; }; }>>> & Readonly<{ onScroll?: ((ev: Event, data: { startIndex: number; endIndex: number; }) => any) | undefined; "onArea-selection-change"?: ((ranges: AreaSelectionRange[]) => any) | undefined; "onUpdate:columns"?: ((cols: StkTableColumn[]) => any) | undefined; "onCol-resize"?: ((col: StkTableColumn) => any) | undefined; "onToggle-row-expand"?: ((data: { expanded: boolean; row: any; col: StkTableColumn | null; }) => any) | undefined; "onSort-change"?: ((col: StkTableColumn | null, order: Order, data: any[], sortConfig: SortConfig) => any) | undefined; "onTh-drag-start"?: ((dragStartKey: string) => any) | undefined; "onTh-drop"?: ((targetColKey: string) => any) | undefined; "onCol-order-change"?: ((dragStartKey: string, targetColKey: string) => any) | undefined; "onRow-order-change"?: ((dragStartKey: string, targetRowKey: string) => any) | undefined; "onToggle-tree-expand"?: ((data: { expanded: boolean; row: any; col: StkTableColumn | null; }) => any) | undefined; "onRow-click"?: ((ev: MouseEvent, row: any, data: { rowIndex: number; }) => any) | undefined; "onCurrent-change"?: ((ev: MouseEvent | null, row: any, data: { select: boolean; }) => any) | undefined; "onCell-selected"?: ((ev: MouseEvent | null, data: { select: boolean; row: any | undefined; col: StkTableColumn | undefined; }) => any) | undefined; "onRow-dblclick"?: ((ev: MouseEvent, row: any, data: { rowIndex: number; }) => any) | undefined; "onHeader-row-menu"?: ((ev: MouseEvent) => any) | undefined; "onRow-menu"?: ((ev: MouseEvent, row: any, data: { rowIndex: number; }) => any) | undefined; "onCell-click"?: ((ev: MouseEvent, row: any, col: StkTableColumn, data: { rowIndex: number; }) => any) | undefined; "onCell-mouseenter"?: ((ev: MouseEvent, row: any, col: StkTableColumn) => any) | undefined; "onCell-mouseleave"?: ((ev: MouseEvent, row: any, col: StkTableColumn) => any) | undefined; "onCell-mouseover"?: ((ev: MouseEvent, row: any, col: StkTableColumn) => any) | undefined; "onCell-mousedown"?: ((ev: MouseEvent, row: any, col: StkTableColumn, data: { rowIndex: number; }) => any) | undefined; "onHeader-cell-click"?: ((ev: MouseEvent, col: StkTableColumn) => any) | undefined; "onScroll-x"?: ((ev: Event) => any) | undefined; "onFilter-change"?: ((status: Record) => any) | undefined; }>, { width: string; minWidth: string; maxWidth: string; sortConfig: SortConfig; colKey: UniqKeyProp; headless: boolean; rowHeight: number; autoRowHeight: boolean | AutoRowHeightConfig; stripe: boolean; optimizeVue2Scroll: boolean; rowKey: UniqKeyProp; headerRowHeight: number | string; scrollbar: boolean | ScrollbarOptions; fixedMode: boolean; theme: "light" | "dark"; rowHover: boolean; rowActive: boolean | RowActiveOption; rowCurrentRevokable: boolean; footerRowHeight: number | string; virtual: boolean; virtualX: boolean; columns: StkTableColumn[]; dataSource: any[]; emptyCellText: string | ((option: { row: any; col: StkTableColumn; }) => string); noDataFull: boolean; showNoData: boolean; sortRemote: boolean; showHeaderOverflow: boolean; showOverflow: boolean; showTrHoverClass: boolean; cellHover: boolean; cellActive: boolean; selectedCellRevokable: boolean; areaSelection: boolean | AreaSelectionConfig; headerDrag: boolean | HeaderDragConfig; rowClassName: (row: any, i: number) => string | undefined; colResizable: boolean | ColResizableConfig; colMinWidth: number; bordered: boolean | "h" | "v" | "body-v" | "body-h"; autoResize: boolean | (() => void); fixedColShadow: boolean; hideHeaderTitle: boolean | string[]; highlightConfig: HighlightConfig; seqConfig: SeqConfig; expandConfig: ExpandConfig; dragRowConfig: DragRowConfig; treeConfig: TreeConfig; cellFixedMode: "sticky" | "relative"; smoothScroll: boolean; scrollRowByRow: boolean | "scrollbar"; experimental: ExperimentalConfig; footerData: any[]; footerConfig: FooterConfig; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, { tableHeader?(_: { col: PrivateStkTableColumn; }): any; expand?(_: { row: any; col: any; }): any; empty?(_: {}): any; customBottom?(_: {}): any; }>; 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_WithDefaults = { [K in keyof Pick]: K extends keyof D ? __VLS_Prettify : P[K]; }; type __VLS_Prettify = { [K in keyof T]: T[K]; } & {}; type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; };