import { Id } from '@win2win/shared';
import { ToolbarButton } from 'src/layouts/w2w-toolbar/W2WToolbarConfig';
import { LayoutActionButton, LayoutContext, LayoutView } from 'src/models';

export interface DynamicTableCustomConfig {
  layout?: {
    code?: string;
    hideTitle?: boolean;
    hideStats?: boolean;
  };
  queryParams?: Record<string, any>;
  toolbar?: {
    buttons?: ToolbarButton[];
    availableFilters?: string[];
    show?: boolean;
  };
  columns?: {
    availableColumns?: string[];
  };
  batchActions?: LayoutActionButton[];
  idKey?: string;
  onRowClick?: (row?: any) => void;
}

export interface DynamicTableViewsRefs {
  idGama: Id | null;
  layout: LayoutView;
  customConfig: DynamicTableCustomConfig | undefined;
  context: LayoutContext;
  title: string;
  idKey: string;
  endpoint: string;
}
