import { SdBadge } from '@sd-angular/core/components/badge';
export interface SdTableMetaSelector {
    selectable?: boolean;
    isSelected?: boolean;
    actions?: string[];
}
export interface SdTableMetaExpand {
    isExpanded?: boolean;
    isExpanding?: boolean;
    data?: any;
}
export interface SdTableDisplay {
    tooltip?: string;
    badge?: {
        type: SdBadge['type'] | undefined | null;
        color: SdBadge['color'] | undefined | null;
        icon?: string | undefined | null;
        title?: string | number | null | undefined;
    };
    cellStyle?: Record<string, string>;
    data: string | number | undefined | null;
    isHtml: boolean;
    click?: () => void;
}
export interface SdTableMeta<T> {
    id: string;
    display: Record<string, SdTableDisplay>;
    selector?: SdTableMetaSelector;
    expand?: SdTableMetaExpand;
    group?: {
        htmlTemplate?: string;
        items?: SdTableItem<T>[];
    };
}
export interface SdTableItem<T = any> {
    meta: SdTableMeta<T>;
    data: T;
}
export declare const MapToSdTableItem: <T = any>(item: T) => SdTableItem<T>;
