import { type IniFile, type QuestConfig, type ScenarioComponent } from './component-types.js'; import { LocalizationStore } from './localization-store.js'; export declare class ScenarioModel { questConfig: QuestConfig; private components; localization: LocalizationStore; scenarioDir: string; constructor(config?: Partial, scenarioDir?: string); upsert(name: string, data: Record): void; get(name: string): ScenarioComponent | undefined; delete(name: string): string[]; getAll(): ScenarioComponent[]; getByType(prefix: string): ScenarioComponent[]; getComponentsByFile(file: IniFile): ScenarioComponent[]; /** Find all components that reference the target name */ getReferencesTo(targetName: string): Array<{ from: string; field: string; }>; /** Get all component names referenced by a component */ getReferencesFrom(name: string): string[]; /** Serialize all components grouped by INI file (strips undefined values) */ serializeToIniData(): Record>>; /** Load a model from raw file contents (no disk IO) */ static loadFromData(questIniContent: string, dataFileContents: Record, localizationContent?: string): ScenarioModel; } //# sourceMappingURL=scenario-model.d.ts.map