import {LucideIcon} from 'lucide-react';

export interface ElementSection {
    title: string;
    section: WorldElementSection;
    icon: LucideIcon;
}

export interface WorldElement {
    id: string;
    name: string;
    description: string;
}

export type WorldElementSection =
    'laws'
    | 'biomes'
    | 'issues'
    | 'customs'
    | 'kingdoms'
    | 'climate'
    | 'resources'
    | 'wildlife'
    | 'arts'
    | 'ethnicGroups'
    | 'socialClasses'
    | 'importantCharacters';

export type WorldTextField = 'name' | 'history' | 'politics' | 'economy' | 'religion' | 'languages';

export interface WorldProps {
    id: string;
    name: string;
    history: string;
    politics: string;
    economy: string;
    religion: string;
    languages: string;
    laws: WorldElement[];
    biomes: WorldElement[];
    issues: WorldElement[];
    customs: WorldElement[];
    kingdoms: WorldElement[];
    climate: WorldElement[];
    resources: WorldElement[];
    wildlife: WorldElement[];
    arts: WorldElement[];
    ethnicGroups: WorldElement[];
    socialClasses: WorldElement[];
    importantCharacters: WorldElement[];
    seriesWorldId?: string | null;
}

export interface WorldListResponse {
    worlds: WorldProps[];
    enabled: boolean;
}
