import { ComponentOptionsMixin } from 'vue'; import { ComponentProvideOptions } from 'vue'; import { ComputedRef } from 'vue'; import { DefineComponent } from 'vue'; import { ExtractPropTypes } from 'vue'; import { InjectionKey } from 'vue'; import { PropType } from 'vue'; import { PublicProps } from 'vue'; declare type __VLS_NonUndefinedable = T extends undefined ? never : T; declare type __VLS_Prettify = { [K in keyof T]: T[K]; } & {}; declare type __VLS_TypePropsToRuntimeProps = { [K in keyof T]-?: {} extends Pick ? { type: PropType<__VLS_NonUndefinedable>; } : { type: PropType; required: true; }; }; declare type __VLS_WithDefaults = { [K in keyof Pick]: K extends keyof D ? __VLS_Prettify : P[K]; }; declare type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; }; declare const _default: __VLS_WithTemplateSlots, { density: undefined; emptyStateText: string; hasActions: boolean; hasCustomExpandToggle: boolean; isEmpty: boolean; isSchemaDriven: boolean; isLoading: boolean; isExpandable: boolean; isSelectable: boolean; layout: string; radius: string; stickyHeader: undefined; pinnedLeftWidth: number; pinnedRightWidth: number; tableMinWidth: undefined; }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly, { density: undefined; emptyStateText: string; hasActions: boolean; hasCustomExpandToggle: boolean; isEmpty: boolean; isSchemaDriven: boolean; isLoading: boolean; isExpandable: boolean; isSelectable: boolean; layout: string; radius: string; stickyHeader: undefined; pinnedLeftWidth: number; pinnedRightWidth: number; tableMinWidth: undefined; }>>> & Readonly<{}>, { isLoading: boolean; radius: "none" | "rounded" | "rounded-bottom"; density: "compact" | "comfortable"; isEmpty: boolean; isSelectable: boolean; emptyStateText: string; hasActions: boolean; layout: "scroll" | "stack"; hasCustomExpandToggle: boolean; isSchemaDriven: boolean; isExpandable: boolean; stickyHeader: { listLength: number; maxHeight: string; }; pinnedLeftWidth: number; pinnedRightWidth: number; tableMinWidth: number; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, { head?(_: {}): any; empty?(_: {}): any; body?(_: {}): any; }>; export default _default; declare interface Injection { key: InjectionKey; } export declare enum Layout { Scroll = "scroll", Stack = "stack" } export declare type Layouts = `${Layout}`; declare type SpacingDensities = `${SpacingDensity}`; /** * For controlling properties like "padding" and "margin" within and between components. */ declare enum SpacingDensity { Compact = "compact", Comfortable = "comfortable" } export declare const TABLE_INJECTION: Injection; /** * Properties and utilities provided to children of a Table instance */ export declare interface TableInjection { /** * Controls the Table's padding; the default value is "comfortable". On small screens, the density will always be "compact". */ density: ComputedRef; /** * Styles the last column for "row actions" */ hasActions: ComputedRef; /** * If true, hides the default expansion toggle column */ hasCustomExpandToggle: ComputedRef; /** * When true, the table is schema-driven (e.g. DataTable); selection column is rendered from the schema, not by TableRow/TableHeaderRow. */ isSchemaDriven?: ComputedRef; /** * Adds a toggle column for row expansion. This is primarily needed for ensuring the corresponding empty TableHeaderRow is included. */ isExpandable: ComputedRef; /** * Adds a checkbox column for selecting rows; intended for use with the `useSelection` composable. */ isSelectable: ComputedRef; /** * Sets the table layout; the default value is "scroll". */ layout: ComputedRef; /** * Sets the table loading state. */ isLoading: ComputedRef; } export declare interface TableProps { /** * Controls the Table's padding; the default value is "comfortable". On small screens, "compact" density is applied regardless of this prop's value. */ density?: SpacingDensities; /** * Sets the text for the empty state; the default value is "No Results". */ emptyStateText?: string; /** * Styles the last column for "row actions" */ hasActions?: boolean; /** * If true, hides the default expansion toggle column */ hasCustomExpandToggle?: boolean; /** * Shows the empty state */ isEmpty?: boolean; /** * When true, indicates the table is being composed by DataTable (schema-driven mode). * TableRow/TableHeaderRow use this to suppress their built-in selection cells. */ isSchemaDriven?: boolean; /** * Shows the loading state */ isLoading?: boolean; /** * Adds a toggle column for row expansion. This is primarily needed for ensuring the corresponding empty TableHeaderRow is included. */ isExpandable?: boolean; /** * Adds a checkbox column for selecting rows; intended for use with the `useSelection` composable. */ isSelectable?: boolean; /** * Sets the table layout; the default value is "scroll". */ layout?: Layouts; /** * Controls the corners of the table with the "border-radius" CSS property. The default value is "rounded". */ radius?: TableRadiuses; /** * Allows the table head to be sticky when scrolling inside the table body */ stickyHeader?: { listLength: number; maxHeight: string; }; /** * Total width (px) of left-pinned columns. Used to offset scroll overlay elements. */ pinnedLeftWidth?: number; /** * Total width (px) of right-pinned columns. Used to offset scroll overlay elements. */ pinnedRightWidth?: number; /** * When set, applied as min-width on the element so columns don't collapse below their TanStack sizes. */ tableMinWidth?: number; } export declare enum TableRadius { None = "none", Rounded = "rounded", RoundedBottom = "rounded-bottom" } export declare type TableRadiuses = `${TableRadius}`; export { }