import { ISync } from '../types/CalendarTypes';

export interface ViewTemplate {
  id: string;
  name: string;
  groupingTypes: string[];
}

export interface ViewConfig extends ISync {
  id: string;  // templateId (e.g. 'day', 'simple', 'resource')
  groupings: GroupingConfig[];
}

export interface GroupingConfig {
  type: string;
  values: string[];
  idProperty?: string;      // Property-navn på event (f.eks. 'resourceId') - kun for event matching
  derivedFrom?: string;     // Hvis feltet udledes fra anden property (f.eks. 'date' fra 'start')
  belongsTo?: string;       // Parent-child relation (f.eks. 'team.resourceIds')
  hideHeader?: boolean;     // Skjul header-rækken for denne grouping (f.eks. dato i day-view)
}
