import type { IAppearanceableProps } from '../../../Behaviors/Appearanceable';
import type { IDisableableProps } from '../../../Behaviors/Disableable';
import type { TableSelectionMode } from '../../../Types/TableSelectionMode';
import type { TableSelectionType } from '../../../Types/TableSelectionType';
import type { TableSortMode } from '../../../Types/TableSortMode';
import type { IItemsElementProps } from '../Abstracts/Items/IItemsElementProps';
import type { IDataTableColumnDefinition } from './IDataTableColumnDefinition';
/**
 * Represents the `IDataTableElementProps` interface.
 *
 * @public
 */
export interface IDataTableElementProps extends IItemsElementProps, IDisableableProps, IAppearanceableProps {
    /**
     * Indicates whether the table should have alternating row colors.
     *
     * @public
     */
    alternating: boolean;
    /**
     * Indicates whether columns should be auto-generated from the data source.
     *
     * @public
     */
    autoGenerateColumns: boolean;
    /**
     * The column definitions for the data table.
     *
     * @public
     */
    columnDefinitions: Array<IDataTableColumnDefinition>;
    /**
     * A caption for the table.
     *
     * @public
     */
    caption: string;
    /**
     * Defines the selection type of the table.
     *
     * @public
     */
    selectionType: TableSelectionType;
    /**
     * Defines the selection mode of the table.
     *
     * @public
     */
    selectionMode: TableSelectionMode;
    /**
     * Whether columns are resizable by default.
     *
     * @public
     */
    resizable: boolean;
    /**
     * Whether columns are sortable by default.
     *
     * @public
     */
    sortable: boolean;
    /**
     * Whether columns are pinable by default.
     *
     * @public
     */
    pinable: boolean;
    /**
     * Whether columns are hideable by default.
     *
     * @public
     */
    hideable: boolean;
    /**
     * Whether columns support auto-sizing by default.
     *
     * @public
     */
    autoSizeable: boolean;
    /**
     * Whether the column chooser is available by default.
     *
     * @public
     */
    columnChoosable: boolean;
    /**
     * Whether columns can be reordered via drag and drop by default.
     *
     * @public
     */
    reorderable: boolean;
    /**
     * Defines the sort mode of the data table.
     * - `'single'`: Only one column can be sorted at a time (default).
     * - `'multiple'`: Multiple columns can be sorted simultaneously with priority indices.
     *
     * @public
     */
    sortMode: TableSortMode;
}
//# sourceMappingURL=IDataTableElementProps.d.ts.map