/**
 * Grid DOM Constants
 *
 * Centralized constants for CSS classes, data attributes, and selectors
 * used throughout the grid. Use these instead of magic strings.
 *
 * Note: Some constants here are used by plugins but defined in core because:
 * 1. The core CSS needs to style these elements (e.g., sticky positioning)
 * 2. Multiple plugins may share the same class names
 *
 * Plugins can define their own additional constants and export them.
 * See each plugin's index.ts for plugin-specific exports.
 */
/**
 * CSS class names used in the grid's shadow DOM.
 * Use these when adding/removing classes or querying elements.
 *
 * Classes are organized by:
 * - Core: Used by the grid core for structure and basic functionality
 * - Shared: Used by multiple features/plugins, styled by core CSS
 */
export declare const GridClasses: {
    readonly ROOT: "tbw-grid-root";
    readonly HEADER: "header";
    readonly HEADER_ROW: "header-row";
    readonly HEADER_CELL: "header-cell";
    readonly ROWS_VIEWPORT: "rows-viewport";
    readonly ROWS_SPACER: "rows-spacer";
    readonly ROWS_CONTAINER: "rows";
    readonly DATA_ROW: "data-row";
    readonly GROUP_ROW: "group-row";
    readonly DATA_CELL: "data-cell";
    readonly SELECTED: "selected";
    readonly FOCUSED: "focused";
    readonly EDITING: "editing";
    readonly EXPANDED: "expanded";
    readonly COLLAPSED: "collapsed";
    readonly DRAGGING: "dragging";
    readonly RESIZING: "resizing";
    readonly SORTABLE: "sortable";
    readonly SORTED_ASC: "sorted-asc";
    readonly SORTED_DESC: "sorted-desc";
    readonly HIDDEN: "hidden";
    readonly STICKY_LEFT: "sticky-left";
    readonly STICKY_RIGHT: "sticky-right";
    readonly PINNED_TOP: "pinned-top";
    readonly PINNED_BOTTOM: "pinned-bottom";
    readonly TREE_TOGGLE: "tree-toggle";
    readonly TREE_INDENT: "tree-indent";
    readonly GROUP_TOGGLE: "group-toggle";
    readonly GROUP_LABEL: "group-label";
    readonly GROUP_COUNT: "group-count";
    readonly RANGE_SELECTION: "range-selection";
    readonly SELECTION_OVERLAY: "selection-overlay";
};
/**
 * Data attribute names used on grid elements.
 * Use these when getting/setting data attributes.
 */
export declare const GridDataAttrs: {
    readonly ROW_INDEX: "data-row-index";
    readonly COL_INDEX: "data-col-index";
    readonly FIELD: "data-field";
    readonly GROUP_KEY: "data-group-key";
    readonly TREE_LEVEL: "data-tree-level";
    readonly STICKY: "data-sticky";
};
/**
 * Common CSS selectors for querying grid elements.
 * Built from the class constants for consistency.
 */
export declare const GridSelectors: {
    readonly ROOT: ".tbw-grid-root";
    readonly HEADER: ".header";
    readonly HEADER_ROW: ".header-row";
    readonly HEADER_CELL: ".header-cell";
    readonly ROWS_VIEWPORT: ".rows-viewport";
    readonly ROWS_CONTAINER: ".rows";
    readonly DATA_ROW: ".data-row";
    readonly DATA_CELL: ".data-cell";
    readonly GROUP_ROW: ".group-row";
    readonly ROW_BY_INDEX: (index: number) => string;
    readonly CELL_BY_FIELD: (field: string) => string;
    readonly CELL_AT: (row: number, col: number) => string;
    readonly SELECTED_ROWS: ".data-row.selected";
    readonly EDITING_CELL: ".data-cell.editing";
};
/**
 * CSS custom property names for theming.
 * Use these when programmatically setting styles.
 */
export declare const GridCSSVars: {
    readonly COLOR_BG: "--tbw-color-bg";
    readonly COLOR_FG: "--tbw-color-fg";
    readonly COLOR_FG_MUTED: "--tbw-color-fg-muted";
    readonly COLOR_BORDER: "--tbw-color-border";
    readonly COLOR_ACCENT: "--tbw-color-accent";
    readonly COLOR_HEADER_BG: "--tbw-color-header-bg";
    readonly COLOR_HEADER_FG: "--tbw-color-header-fg";
    readonly COLOR_SELECTION: "--tbw-color-selection";
    readonly COLOR_ROW_HOVER: "--tbw-color-row-hover";
    readonly COLOR_ROW_ALT: "--tbw-color-row-alt";
    readonly ROW_HEIGHT: "--tbw-row-height";
    readonly HEADER_HEIGHT: "--tbw-header-height";
    readonly CELL_PADDING: "--tbw-cell-padding";
    readonly FONT_FAMILY: "--tbw-font-family";
    readonly FONT_SIZE: "--tbw-font-size";
    readonly BORDER_RADIUS: "--tbw-border-radius";
    readonly FOCUS_OUTLINE: "--tbw-focus-outline";
};
export type GridClassName = (typeof GridClasses)[keyof typeof GridClasses];
export type GridDataAttr = (typeof GridDataAttrs)[keyof typeof GridDataAttrs];
export type GridCSSVar = (typeof GridCSSVars)[keyof typeof GridCSSVars];
//# sourceMappingURL=constants.d.ts.map