import React from "react";
import type { ConsciousnessFeatures } from "../layout/GlassContainer";
export interface ColumnDef<T = any> {
    id?: string;
    header: string | ((props: any) => React.ReactNode);
    accessorKey?: string;
    accessorFn?: (row: T) => any;
    cell?: (props: {
        row: T;
        value: any;
    }) => React.ReactNode;
    sortable?: boolean;
    filterable?: boolean;
    width?: string | number;
    align?: "left" | "center" | "right";
    enableSorting?: boolean;
    enableHiding?: boolean;
}
export interface SortState {
    id: string;
    desc: boolean;
}
export interface FilterState {
    [key: string]: any;
}
export interface GlassDataTableProps<T = any> extends ConsciousnessFeatures {
    /**
     * Table data
     */
    data?: T[];
    /**
     * Column definitions
     */
    columns: ColumnDef<T>[];
    /**
     * Loading state
     */
    loading?: boolean;
    /**
     * Empty state message
     */
    emptyMessage?: string;
    /**
     * Table variant
     */
    variant?: "default" | "striped" | "bordered" | "minimal";
    /**
     * Table size
     */
    size?: "sm" | "md" | "lg";
    /**
     * Enable sorting
     */
    sortable?: boolean;
    /**
     * Enable filtering
     */
    filterable?: boolean;
    /**
     * Enable search
     */
    searchable?: boolean;
    /**
     * Search placeholder
     */
    searchPlaceholder?: string;
    /**
     * Enable pagination
     */
    pagination?: boolean;
    /**
     * Page size options
     */
    pageSizeOptions?: number[];
    /**
     * Initial page size
     */
    initialPageSize?: number;
    /**
     * Enable row selection
     */
    selectable?: boolean;
    /**
     * Selection mode
     */
    selectionMode?: "single" | "multiple";
    /**
     * Selected rows
     */
    selectedRows?: string[];
    /**
     * Selection change handler
     */
    onSelectionChange?: (selectedRows: string[]) => void;
    /**
     * Row click handler
     */
    onRowClick?: (row: T) => void;
    /**
     * Get row ID
     */
    getRowId?: (row: T, index?: number) => string;
    /**
     * Custom row props
     */
    getRowProps?: (row: T) => React.HTMLAttributes<HTMLTableRowElement>;
    /**
     * Sticky header
     */
    stickyHeader?: boolean;
    /**
     * Table actions
     */
    actions?: React.ReactNode;
    className?: string;
    "aria-label"?: string;
    "data-testid"?: string;
    /**
     * Optional per-column cell renderers by column id or accessorKey
     */
    cellRenderers?: Record<string, (value: any, row: T) => React.ReactNode>;
    /**
     * Optional rich empty state
     */
    emptyState?: {
        icon?: React.ReactNode;
        message?: string;
        description?: string;
    };
}
/**
 * GlassDataTable component
 * A comprehensive data table with glassmorphism styling
 */
export declare const GlassDataTable: <T = any>(props: GlassDataTableProps<T> & {
    ref?: React.Ref<HTMLDivElement>;
}) => import("react/jsx-runtime").JSX.Element;
/**
 * Enhanced GlassDataTable with consciousness features enabled by default
 * Use this for tables that should be intelligent and adaptive
 */
export declare const ConsciousGlassDataTable: <T = any>(props: GlassDataTableProps<T> & {
    ref?: React.Ref<HTMLDivElement>;
}) => import("react/jsx-runtime").JSX.Element;
/**
 * Predictive data table that learns user sorting and filtering patterns
 */
export declare const PredictiveDataTable: <T = any>(props: GlassDataTableProps<T> & {
    ref?: React.Ref<HTMLDivElement>;
}) => import("react/jsx-runtime").JSX.Element;
/**
 * Gaze-responsive data table with eye tracking for enhanced data exploration
 */
export declare const GazeResponsiveDataTable: <T = any>(props: GlassDataTableProps<T> & {
    ref?: React.Ref<HTMLDivElement>;
}) => import("react/jsx-runtime").JSX.Element;
/**
 * Accessibility-focused data table with biometric adaptation and spatial audio
 */
export declare const AccessibleDataTable: <T = any>(props: GlassDataTableProps<T> & {
    ref?: React.Ref<HTMLDivElement>;
}) => import("react/jsx-runtime").JSX.Element;
/**
 * Pre-configured consciousness data table presets
 */
export declare const DataTableConsciousnessPresets: {
    /**
     * Minimal consciousness features for performance-sensitive contexts
     */
    readonly minimal: {
        readonly predictive: true;
        readonly trackAchievements: true;
    };
    /**
     * Balanced consciousness features for general use
     */
    readonly balanced: {
        readonly predictive: true;
        readonly adaptive: true;
        readonly biometricResponsive: true;
        readonly trackAchievements: true;
    };
    /**
     * Full consciousness features for immersive data exploration
     */
    readonly immersive: {
        readonly predictive: true;
        readonly preloadContent: true;
        readonly eyeTracking: true;
        readonly gazeResponsive: true;
        readonly adaptive: true;
        readonly biometricResponsive: true;
        readonly spatialAudio: true;
        readonly audioFeedback: true;
        readonly trackAchievements: true;
    };
    /**
     * Accessibility-focused consciousness features
     */
    readonly accessible: {
        readonly adaptive: true;
        readonly biometricResponsive: true;
        readonly spatialAudio: true;
        readonly audioFeedback: true;
        readonly trackAchievements: true;
    };
};
//# sourceMappingURL=GlassDataTable.d.ts.map