import { SciChartPieSurface } from "../Charting/Visuals/SciChartPieSurface/SciChartPieSurface";
import type { TWebAssemblyChart } from "../Charting/Visuals/SciChartSurface";
import { SciChartSurface } from "../Charting/Visuals/SciChartSurface";
import type { TSciChart } from "../types/TSciChart";
import type { ISciChart2DDefinition, ISubChartDefinition, ISciChartPieDefinition, ISciChart3DDefinition } from "./types/SurfaceDefinitions";
import { SciChartPolarSurface } from "../Charting/Visuals/SciChartPolarSurface";
import type { TWebAssemblyChart3D } from "../Charting3D/Visuals/SciChart3DSurface";
import { SciChart3DSurface } from "../Charting3D/Visuals/SciChart3DSurface";
import type { TSciChart3D } from "../types/TSciChart3D";
import type { ISciChartSubSurface } from "../Charting/Visuals/ISciChartSubSurface";
/**
 * Construct a chart with {@link SciChartSurface} using a {@link ISciChart2DDefinition} which can be pure data.
 * @remarks This method is async and must be awaited
 * @param divElementId The Div Element ID where the {@link SciChartSurface} will reside
 * @param definition the {@link ISciChart2DDefinition}
 */
export declare const build2DChart: (divElementId: string | HTMLDivElement, definition: ISciChart2DDefinition | string) => Promise<TWebAssemblyChart>;
/**
 * Construct a chart with {@link SciChartPolarSurface} using a {@link ISciChart2DDefinition} which can be pure data.
 * @remarks This method is async and must be awaited
 * @param divElementId The Div Element ID where the {@link SciChartPolarSurface} will reside
 * @param definition the {@link ISciChart2DDefinition}
 */
export declare const build2DPolarChart: (divElementId: string | HTMLDivElement, definition: ISciChart2DDefinition | string) => Promise<{
    wasmContext: TSciChart;
    sciChartSurface: SciChartPolarSurface;
}>;
/**
 * Construct a chart with {@link SciChartPieSurface} using a {@link ISciChartPieDefinition} which can be pure data.
 * @remarks This method is async and must be awaited
 * @param divElementId The Div Element ID where the {@link SciChartPieSurface} will reside
 * @param definition the {@link ISciChartPieDefinition}
 */
export declare const buildPieChart: (divElementId: string | HTMLDivElement, definition: ISciChartPieDefinition | string) => Promise<SciChartPieSurface>;
/**
 * Construct a chart with {@link SciChart3DSurface} using a {@link ISciChart3DDefinition} which can be pure data.
 * @remarks This method is async and must be awaited
 * @param divElementId The Div Element ID where the {@link SciChart3DSurface} will reside
 * @param definition the {@link ISciChart3DDefinition}
 */
export declare const build3DChart: (divElementId: string | HTMLDivElement, definition: ISciChart3DDefinition | string) => Promise<TWebAssemblyChart3D>;
export declare function buildSubCharts(definition: ISubChartDefinition | ISubChartDefinition[], parentSurface: SciChartSurface): ISciChartSubSurface[];
export declare function configure2DSurface(definition: ISciChart2DDefinition, sciChartSurface: SciChartSurface, wasmContext: TSciChart): void;
export declare function configure3DSurface(definition: ISciChart3DDefinition, sciChartSurface: SciChart3DSurface, wasmContext: TSciChart3D): void;
