import type { TSciChart } from "../../types/TSciChart"; import type { TSciChartSurfaceCanvases } from "../../types/TSciChartSurfaceCanvases"; import type { IThemeProvider } from "../Themes/IThemeProvider"; import type { I2DSurfaceOptions } from "./I2DSurfaceOptions"; import type { I3DSurfaceOptions } from "../../Charting3D/I3DSurfaceOptions"; import type { TWebAssemblyChart } from "./SciChartSurface"; import type { SciChartSurfaceBase } from "./SciChartSurfaceBase"; import type { TSciChartModuleName } from "./moduleLoader"; import type { TDestinationKind } from "../../Core/Globals"; import type { TSurfaceConstructor } from "./createMaster"; /** * What differs between a 2D and a 3D single-chart creation. Since the union build, everything * else - module resolution, locateFile, preloadWasm, the revocable proxy, the SCRTFrameRenderer2D * wiring and callMain() - is identical, so this is the whole variation. * @ignore Internal implementation detail of the family-descriptor pattern (Tasks 11-12); was never * intentionally public - surfaced in src/index.ts only because the generator had not been re-run * since it was added (Task 13 review). */ export type TSingleChartFamily = { /** Which destination population the created surface registers under. */ kind: TDestinationKind; /** Label passed to the license manager, e.g. "2D single". */ licenseTag: string; /** Draws exactly one frame for this surface, called from the engine's Draw callback. */ drawFrame: (surface: T) => void; surfaceConstructor: TSurfaceConstructor; /** * A native wasm module `surfaceConstructor` cannot run without, in the modular build shape. * Declared by the family rather than inferred, and awaited BEFORE `surfaceConstructor` - see * {@link TMultiChartFamily.requiresModule} for the full rationale, which applies identically * here (this is deliberately the same mechanism on both creation paths, not two). */ requiresModule?: TSciChartModuleName; }; /** @ignore */ export declare const createSingleInternal: (divElement: string | HTMLDivElement, family: TSingleChartFamily, options?: I2DSurfaceOptions | I3DSurfaceOptions) => Promise>; /** @ignore */ export declare const initDrawEngineSingleChart: (wasmContext: TSciChart, canvases: TSciChartSurfaceCanvases, resolve: (value: TWebAssemblyChart) => void, theme: IThemeProvider, family: TSingleChartFamily) => void;