import { FilterResult } from '../utils/semantic-sql-engine';

export type ColumnType = 'number' | 'string' | 'time' | 'boolean';
export type PivotValuePathEntry = {
    column: string;
    label: string;
    value: string | number | null;
};
export type TableColumn = {
    title: string;
    key: string;
    render: (value: any) => string;
    memberType: 'measure' | 'dimension' | 'timeDimension' | 'segment';
    width?: number;
    actualMemberName?: string;
    pivotValue?: string;
    pivotKey?: string;
    pivotPath?: PivotValuePathEntry[];
    columnType: ColumnType;
    isCustom: boolean;
    hasDrillMembers?: boolean;
    isPivotPlaceholder?: boolean;
    formatString?: string;
    defaultFormatString?: string;
};
export type TablePivot = {
    title: string;
    key: string;
    columnType?: ColumnType;
    isCustom: boolean;
    actualMemberName?: string;
};
export type ColumnActionProps = {
    enableColumnActions?: boolean;
    onSortChange?: (columnId: string, direction: 'asc' | 'desc' | null) => void;
    currentSort?: 'asc' | 'desc' | null;
    currentSorts?: Record<string, 'asc' | 'desc'>;
    currentFilters?: readonly FilterResult[];
    onAddFilter?: (columnId: string) => void;
    onRemoveFilter?: (columnId: string) => void;
    onRemoveFromSelection?: (columnId: string) => void;
    columnSelectionMap?: Readonly<Record<string, boolean>>;
    onSaveCalculatedField?: (columnId: string) => void;
    calculatedFields?: readonly any[];
    memberName?: string;
    onHeaderSelected?: (columnId: string) => void;
    selectedColumnId?: string | null;
    selectedHeaderStyle?: React.CSSProperties;
};
//# sourceMappingURL=table.d.ts.map