export interface SdTableOptionSelector<T = any> {
    visible?: boolean;
    single?: boolean;
    actions?: SdTableAction<T>[];
    message?: string | ((selectedItems?: T[]) => string);
    onSelect?: (rowData?: T, selectedItems?: T[]) => void;
    onSelectAll?: (selectedItems: T[]) => void;
    disabled?: (rowData?: T, selectedItems?: T[]) => boolean;
}
export declare type SdTableAction<T = any> = SdTableActionNormal<T> | SdTableActionChildren<T>;
export interface SdTableActionNormal<T = any> {
    icon?: string | ((rowData: T) => string);
    fontSet?: 'material-icons' | 'material-icons-outlined' | 'material-icons-outlined' | 'material-icons-round' | 'material-icons-sharp';
    tooltip?: string;
    title?: string;
    color?: 'primary' | 'accent' | 'warn' | 'info' | 'success' | 'warning' | 'danger' | 'secondary';
    type?: 'fill' | 'light' | 'outline' | 'link';
    hidden?: boolean | ((rowData?: T) => boolean);
    isGrouped?: boolean;
    click: (selectedItems?: T[]) => void;
}
interface SdTableActionChildren<T = any> {
    icon?: string | ((rowData: T) => string);
    fontSet?: 'material-icons' | 'material-icons-outlined' | 'material-icons-outlined' | 'material-icons-round' | 'material-icons-sharp';
    tooltip?: string;
    title?: string;
    color?: 'primary' | 'accent' | 'warn' | 'info' | 'success' | 'warning' | 'danger' | 'secondary';
    type?: 'fill' | 'light' | 'outline' | 'link';
    isGrouped?: boolean;
    children: SdTableActionNormal<T>[];
}
export {};
