import { EventSystem } from '../utils/event_system'; import { Project, ProjectOptions } from '../core/project/project'; import { Renderer, RendererOptions } from '../core/rendering/renderer'; export interface Bench3DOptions { canvas?: HTMLCanvasElement; onUpdate?: (event: { type: string; data?: any; }) => void; renderer?: Renderer; rendererOptions?: RendererOptions; version?: string; } export declare class Bench3D extends EventSystem { private canvas?; private onUpdateCallback?; private currentProject?; private renderer?; private flags; private version; private openTime; constructor(options?: Bench3DOptions); /** * Create a new project */ createProject(options?: ProjectOptions): Project; /** * Get the current project */ getProject(): Project | undefined; /** * Set the current project */ setProject(project: Project): void; /** * Get the renderer */ getRenderer(): Renderer | undefined; /** * Set the renderer */ setRenderer(renderer: Renderer, options?: RendererOptions): void; /** * Render the current scene */ render(): void; /** * Resize the renderer */ resize(width: number, height: number): void; /** * Emit an update event */ protected emitUpdate(type: string, data?: any): void; /** * Get the canvas element */ getCanvas(): HTMLCanvasElement | undefined; /** * Set the canvas element */ setCanvas(canvas: HTMLCanvasElement): void; /** * Add a flag */ addFlag(flag: string): void; /** * Remove a flag */ removeFlag(flag: string): void; /** * Check if a flag is set */ hasFlag(flag: string): boolean; /** * Get all flags */ getFlags(): string[]; /** * Get version */ getVersion(): string; /** * Compare version */ isNewerThan(version: string): boolean; /** * Compare version */ isOlderThan(version: string): boolean; /** * Compare two version strings * Returns: 1 if v1 > v2, -1 if v1 < v2, 0 if equal */ private compareVersion; /** * Get open time */ getOpenTime(): Date; /** * Dispose of resources */ dispose(): void; } //# sourceMappingURL=bench3d.d.ts.map