import { MultiLayoutComponentId, SingleLayoutComponentId, State, StatePersister } from './app-state.ts'; import { VALID_EXPORT_FORMATS_2D, VALID_EXPORT_FORMATS_3D } from './formats.ts'; import { CustomizerValuePrimitive, CustomizerValues, ParameterSet } from './customizer-types.ts'; import { ProcessStreams } from '../runner/openscad-runner.ts'; export declare function buildCustomizerValues(parameterSet: ParameterSet | undefined, vars: State['params']['vars'] | undefined): CustomizerValues; export declare class Model { private fs; state: State; private setStateCallback?; private statePersister?; constructor(fs: FS, state: State, setStateCallback?: ((state: State) => void) | undefined, statePersister?: StatePersister | undefined); init(): void; private setState; mutate(f: (state: State) => void): boolean; setFormats(exportFormat2D: keyof typeof VALID_EXPORT_FORMATS_2D | undefined, exportFormat3D: keyof typeof VALID_EXPORT_FORMATS_3D | undefined): void; setVar(name: string, value: CustomizerValuePrimitive): void; setVars(vars: Record): void; set logsVisible(value: boolean); isComponentFullyVisible(id: SingleLayoutComponentId): boolean; changeLayout(mode: 'multi' | 'single'): void; changeSingleVisibility(focus: SingleLayoutComponentId): void; changeMultiVisibility(target: MultiLayoutComponentId, visible: boolean): void; openFile(path: string): void; get source(): string; set source(source: string); private processSource; checkSyntax(): Promise; rawStreamsCallback(ps: ProcessStreams): void; export(): Promise; saveProject(): Promise; render({ isPreview, mountArchives, now, retryInOtherDim }: { isPreview: boolean; mountArchives?: boolean; now: boolean; retryInOtherDim?: boolean; }): Promise; } //# sourceMappingURL=model.d.ts.map