import { type TableFeature, type TableOptions } from '../hooks/useTable/types.js'; /** * Options for DataTableV2 visual representation * @public */ export interface DataTableV2VisualVariantProps { variant?: { /** * rowSeparation can be set to 'horizontalDividers' which will provide lines between rows or * can be set to 'zebraStripes' which will provide alternate row coloring. * @defaultValue 'horizontalDividers' */ rowSeparation?: 'none' | 'horizontalDividers' | 'zebraStripes'; /** * If true provides vertical lines between the columns. * @defaultValue false */ verticalDividers?: boolean; /** * If true provides a border for the table. * @defaultValue true */ contained?: boolean; /** * rowDensity adds spacing around the content inside the row * with minimal space for 'condensed', maximum spacing for 'comfortable' and * 'default' being medium spacing. * @defaultValue 'default' */ rowDensity?: 'default' | 'condensed' | 'comfortable'; /** * fontStyle, sets the font style for the entire data table. * This does not overwrite any fontStyle set at the lower level, like columns etc. * @defaultValue 'text' */ fontStyle?: 'text' | 'code'; /** * headers defines if the header rows of the table should be rendered or not. * @defaultValue 'default' */ headers?: 'default' | 'hidden'; /** * Determines the vertical alignment for all table cells. * If header and body cells should have a different vertical alignment, they can be configured separately. * @defaultValue 'top' */ verticalAlignment?: 'top' | 'center' | 'bottom' | { header: 'top' | 'center' | 'bottom'; body: 'top' | 'center' | 'bottom'; }; }; } export interface DataTableV2VisualVariantTableState { visualVariantConfig: Required['variant']>; } export interface DataTableV2VisualVariantTableInstance { getVisualVariantOptions: () => DataTableV2VisualVariantTableState['visualVariantConfig']; } export interface DataTableV2VisualVariantCell { getVisualVariantOptions: () => DataTableV2VisualVariantTableState['visualVariantConfig']; } /** * Extension interface to extend the types of the `Column` from the tanstack table. * @internal */ export interface DataTableV2VisualVariantColumn { /** * Gets the vertical alignment of a cell in the table body from the visual config. */ getVerticalAlignment: () => 'top' | 'center' | 'bottom'; } /** * Extension interface to extend the types of the `HeaderCell` from the tanstack table. * @internal */ export interface DataTableV2VisualVariantHeader { /** * Gets the vertical alignment of a cell in the table header from the visual config. */ getVerticalAlignment: () => 'top' | 'center' | 'bottom'; } export declare const DATA_TABLE_VISUAL_VARIANT_CONFIG_DEFAULT: { readonly rowSeparation: "horizontalDividers"; readonly verticalDividers: false; readonly contained: true; readonly rowDensity: "default"; readonly fontStyle: "text"; readonly headers: "default"; readonly verticalAlignment: "top"; }; export declare function useVisualVariant(props: DataTableV2VisualVariantProps, options: TableOptions): void; export declare const VisualVariantConfig: TableFeature;