export interface LayoutViewGridConfig extends GridStyle {
  header: GridHeader;
  rows: GridRow;
}

export interface GridHeader extends GridStyle {
  items: [
    {
      label: string;
      field: FieldFn;
    }
  ];
}

export interface GridRow extends GridStyle {
  items: RowItem[];
}

export interface RowItem {
  items: {
    label?: string;
    icon?: string;
    field?: FieldFn;
    classes?: string[];
    onClick?: (item: any) => void;
  }[];
}

export interface GridStyle {
  backgroundColor?: string;
  backgroundImage?: string | FieldFn;
  textColor: string;
  classes: string[];
}

type FieldFn = string; // (item: any) => string | number;
