export interface AcSortCtx {
  index: number | null;
  mode: "asc" | "desc" | string;
  label: string;
}
export interface AcTableCell {
  data: unknown;
  sort?: string | number;
  icon?: string;
  color?: string;
  link?: string;
  tooltip?: string;
}
export interface AcTableCol {
  name: string;
  type: "object" | "string" | "number" | "date" | "integer" | "boolean";
  priority: number;
  width?: number;
  pathTemplate?: string;
  format?: string;
  link?: Record<string, unknown>;
  sort?: {
    enable: boolean;
    template: string;
    type: string;
  };
  icon?: boolean;
  textAlign?: string;
  dashboard?: {
    status: string;
    message: string;
    title: string;
  };
  exec?: Record<string, unknown>;
}
export interface AcTableRow {
  cells: Array<{
    data: unknown;
    sort?: number | string;
    color?: string;
    link?: string;
    icon?: string;
  }>;
  namespace?: string;
}
export type AcTable = {
  columns: Array<AcTableCol>;
  rows: Array<AcTableRow>;
  name?: string;
};

export type AcDashboardList = Array<{
  title: string;
  url: string;
}>;
