import { LocationDTO } from './location.model';

export interface MapDTO {
  id?: number;
  name: string;
  description?: string;
  zoomLevel?: number;
  center?: GeometryDTO;
  minZoom?: number;
  maxZoom?: number;
  createdAt?: string;
}

export interface MapFullDTO {
  map: MapDTO;
  locations: LocationDTO[];
  themes: ThemeDTO[];
  activeTheme?: ThemeDTO;
}

export interface DefaultMapDTO {
  id?: number;
  countryName: string;
  borderColor: string;
  fillOpacity: number;
  borderWidth: number;
  imageryProvider?: string;
  camera?: string;
}

export interface ThemeDTO {
  id?: number;
  name: string;
  styleConfig: { [key: string]: any };
}

export interface GeometryDTO {
  type: string;
  coordinates: any;
}
