export type TSciChart3D = {
    canvas: HTMLCanvasElement;
    canvas2D: HTMLCanvasElement;
    SCRTFillTextureFloat32: (texture: TSRTexture, width: number, height: number, pixels: SCRTFloatVector) => TSRVector4;
    SCRTMemMove: (destPtr: number, sourcePtr: number, count: number) => void;
    SCRTDoLeakCheck: () => void;
    SCRT3DSetClearColor: (reg: number, green: number, blue: number, alpha: number) => void;
    SCRTCreateBitmapTexture: (width: number, height: number, textureFormat: eTSRTextureFormat) => TSRTexture;
    SCRTFillTextureAbgr: (texture: TSRTexture, width: number, height: number, pixels: IntVector) => void;
    TSRRequestExit: () => void;
    TSRRequestDraw: () => void;
    TSRRequestCanvasDraw: (canvasID: string) => void;
    TSRSetDrawRequestsEnabled: (enabled: boolean) => void;
    SCRT3DGetScreenWidth: () => number;
    SCRT3DGetScreenHeight: () => number;
    SCRTSetActiveWorld: (scrtSceneWorld: SCRTSceneWorld) => void;
    SCRTSetMainWindowSize: (width: number, height: number) => void;
    SCRTGetTemplateMesh: (meshId: eSCRTMesh) => TSRIndexedMesh;
    SCRTGetTemplateTexture: (textureId: eSCRTTexture) => TSRTexture;
    SCRTGetCommandBuffer: () => TSRCommandBuffer;
    SCRTGetSelectionInfo: (xCoord: number, yCoord: number) => SCRTSelectionInfo;
    SCRTSetIsSelectionBufferEnabled: (isEnabled: boolean) => void;
    SCRTGetIsSelectionBufferEnabled: () => boolean;
    SCRT3DSetWaterMarkProperties: (properties: SCRTWaterMarkProperties) => void;
    SCRTSetGlobalRenderLoopManager: (_pRenderLoopManager: SCRTRenderLoopManager) => void;
    SCRTGetGlobalRenderLoopManager: () => SCRTRenderLoopManager;
    SCRTSetGlobalCopyToDestinationInterface: (_pCopyToDestinationInterface: SCRTCopyToDestinationInterface) => void;
    SCRTSetClearAlphaParams: (enabled: boolean, alpha: number) => void;
    SCRTRegisterFile: (fileName: string, url: string, callback: SCRTFileLoadCallbackInterface) => void;
    SCRTDoubleVector: (new () => SCRTDoubleVector) & (new (capacity: number) => SCRTDoubleVector);
    SCRTFloatVector: new () => SCRTFloatVector;
    SCRTUintVector: new () => SCRTUintVector;
    eTSRTextureFormat: {
        TSR_TEXTUREFORMAT_A8B8G8R8: eTSRTextureFormat;
        TSR_TEXTUREFORMAT_A8R8G8B8: eTSRTextureFormat;
        TSR_TEXTUREFORMAT_R32F: eTSRTextureFormat;
    };
    LinearCoordinateCalculatorDouble: new (ViewportDimension: number, VisibleMin: number, VisibleMax: number, ViewportOffset: number, CoordOffset: number) => LinearCoordinateCalculatorDouble;
    FlippedLinearCoordinateCalculatorDouble: new (ViewportDimension: number, VisibleMin: number, VisibleMax: number, ViewportOffset: number, CoordOffset: number) => FlippedLinearCoordinateCalculatorDouble;
    LinearCoordinateCalculatorSingle: new (ViewportDimension: number, VisibleMin: number, VisibleMax: number, ViewportOffset: number, CoordOffset: number) => LinearCoordinateCalculatorSingle;
    FlippedLinearCoordinateCalculatorSingle: new (ViewportDimension: number, VisibleMin: number, VisibleMax: number, ViewportOffset: number, CoordOffset: number) => FlippedLinearCoordinateCalculatorSingle;
    CategoryCoordinateCalculatorDouble: new (ViewportDimension: number, VisibleMin: number, VisibleMax: number, ViewportOffset: number, CoordOffset: number, IndexMin: number, IndexMax: number) => CategoryCoordinateCalculatorDouble;
    FlippedCategoryCoordinateCalculatorDouble: new (ViewportDimension: number, VisibleMin: number, VisibleMax: number, ViewportOffset: number, CoordOffset: number, IndexMin: number, IndexMax: number) => FlippedCategoryCoordinateCalculatorDouble;
    LogarithmicCoordinateCalculator: new (ViewportDimension: number, VisibleMin: number, VisibleMax: number, ViewportOffset: number, CoordOffset: number, LogBase: number) => LogarithmicCoordinateCalculator;
    FlippedLogarithmicCoordinateCalculator: new (ViewportDimension: number, VisibleMin: number, VisibleMax: number, ViewportOffset: number, CoordOffset: number, LogBase: number) => FlippedLogarithmicCoordinateCalculator;
    SCRTDoubleRange: (new () => SCRTDoubleRange) & (new (min: number, max: number) => SCRTDoubleRange);
    NumberUtil: {
        Log: (value: number, logBase: number) => number;
        IsPowerOf: (value: number, power: number, logBase: number) => boolean;
        RoundUpPower: (value: number, power: number, logBase: number) => number;
        RoundDownPower: (value: number, power: number, logBase: number) => number;
        RoundUp: (value: number, nearest: number) => number;
        RoundDown: (value: number, nearest: number) => number;
        IsDivisibleBy: (value: number, divisor: number) => boolean;
        Constrain: (value: number, lowerBound: number, upperBound: number) => number;
        RoundToDigits: (value: number, decimals: number) => number;
        MinMax: (inputValues: SCRTDoubleVector, containsNaN: boolean) => SCRTDoubleRange;
        MinMaxWithIndex: (inputValues: SCRTDoubleVector, startIndex: number, count: number, containsNaN: boolean) => SCRTDoubleRange;
        MinMaxPair: (inputValues1: SCRTDoubleVector, inputValues2: SCRTDoubleVector, mult: number, multInv: number, containsNaN: boolean) => SCRTDoubleRange;
        MinMaxPairWithIndex: (inputValues1: SCRTDoubleVector, inputValues2: SCRTDoubleVector, mult: number, multInv: number, startIndex: number, count: number, containsNaN: boolean) => SCRTDoubleRange;
        LinearInterpolateI: (from: number, to: number, ratio: number) => number;
    };
    SCRTLicenseType: {
        LICENSE_TYPE_NO_LICENSE: SCRTLicenseType;
        LICENSE_TYPE_TRIAL: SCRTLicenseType;
        LICENSE_TYPE_COMMUNITY: SCRTLicenseType;
        LICENSE_TYPE_FULL: SCRTLicenseType;
        LICENSE_TYPE_FULL_EXPIRED: SCRTLicenseType;
        LICENSE_TYPE_TRIAL_EXPIRED: SCRTLicenseType;
        LICENSE_TYPE_SUBSCRIPTION_EXPIRED: SCRTLicenseType;
        LICENSE_TYPE_INVALID_DEVELOPER_LICENSE: SCRTLicenseType;
        LICENSE_TYPE_REQUIRES_VALIDATION: SCRTLicenseType;
        LICENSE_TYPE_INVALID_LICENSE: SCRTLicenseType;
    };
    SCRTCredentials: {
        SetRuntimeLicenseKeyW: (licenseKey: string) => boolean;
        GetLicenseType: () => SCRTLicenseType;
        ResetRuntimeLicense: () => void;
        HasFeature: (feature: string) => SCRTLicenseType;
        GetLicenseDaysRemaining: () => number;
        GetExpiryDate: () => string;
        Dump: () => string;
        GetEncrypted: (stringToEncrypt: string) => string;
        Hash256Encode64: (stringToHash: string) => string;
        GetOrderId: () => string;
        GetAllowDebugging: () => boolean;
        GetLicenseErrors: () => string;
        GetLicenseChallenge: () => string;
        ApplyLicenseResponse: (response: string) => number;
        IsSimpleValidation: () => boolean;
        ApplySimpleResponse: (token: string) => number;
        IsRoundTripValidation: () => boolean;
        GenerateClientNonce: () => string;
        RequiresValidation: () => boolean;
        GetBuildStamp: () => string;
        GetProductCode: () => string;
        GetEncryptedOrderId: () => string;
        GetDeveloperCount: () => number;
    };
    NiceDoubleScale: {
        CalculateTickSpacing: (min: number, max: number, minorsPerMajor: number, maxTicks: number) => SCRTDoubleRange;
    };
    NiceLogScale: {
        CalculateTickSpacing: (min: number, max: number, logBase: number, minorsPerMajor: number, maxTicks: number) => SCRTDoubleRange;
        CalculateLowPrecisionTickSpacing: (min: number, max: number, logBase: number, minorsPerMajor: number, maxTicks: number) => SCRTDoubleRange;
    };
    Math3D: {
        CenterOfVectors: (a: TSRVector3, b: TSRVector3) => TSRVector3;
        PitchAndYawToDirection: (pitch: number, yaw: number) => TSRVector3;
        DirectionToPitchAndYaw: (direction: TSRVector3) => PitchYaw;
        RotateAroundPoint: (originPoint: TSRVector3, pointToRotate: TSRVector3, rotationAngleDegrees: number, rotationAxis: TSRVector3) => TSRVector3;
        DegToRad: (degrees: number) => number;
        RadToDeg: (radians: number) => number;
        IsZero: (value: number) => boolean;
    };
    SCRTTickStyle: new () => SCRTTickStyle;
    SCRTTextStyle: new () => SCRTTextStyle;
    eSCRTAxisTitleRotationMode: {
        AxisTitleRotationAuto: eSCRTAxisTitleRotationMode;
        AxisTitleRotationVertical: eSCRTAxisTitleRotationMode;
        AxisTitleRotationHorizontal: eSCRTAxisTitleRotationMode;
    };
    eSCRTTickLabelOrientationMode: {
        TickLabelOrientationAuto: eSCRTTickLabelOrientationMode;
        TickLabelOrientationHorizontal: eSCRTTickLabelOrientationMode;
    };
    SCRTAxisDescriptor: new () => SCRTAxisDescriptor;
    SCRTSceneWorld: new () => SCRTSceneWorld;
    SCRTXyzGizmoEntity: {
        implement: (wrapper: SCRTXyzGizmoEntityWrapper) => SCRTXyzGizmoEntity;
    };
    SCRTSceneEntity: {
        implement: (wrapper: SCRTSceneEntityWrapper) => SCRTSceneEntity;
    };
    eSCRT_POINT_MARKER_TYPE: {
        SCRT_POINT_MARKER_TYPE_PIXEL: eSCRT_POINT_MARKER_TYPE;
        SCRT_POINT_MARKER_TYPE_TEXTURED_QUAD: eSCRT_POINT_MARKER_TYPE;
        SCRT_POINT_MARKER_TYPE_INSTANCED_MESH: eSCRT_POINT_MARKER_TYPE;
    };
    SCRTPoint3DSceneEntityParams: new () => SCRTPoint3DSceneEntityParams;
    SCRTPoint3DSceneEntity: (new () => SCRTPoint3DSceneEntity) & {
        implement: (wrapper: SCRTPoint3DSceneEntityWrapper) => SCRTPoint3DSceneEntity;
    };
    SCRTColumnsSceneEntityParams: new () => SCRTColumnsSceneEntityParams;
    SCRTColumnsSceneEntity: (new () => SCRTColumnsSceneEntity) & {
        implement: (wrapper: SCRTColumnsSceneEntityWrapper) => SCRTColumnsSceneEntity;
    };
    SCRTPointLines3DSceneEntityParams: new () => SCRTPointLines3DSceneEntityParams;
    SCRTPointLine3DSceneEntity: (new () => SCRTPointLine3DSceneEntity) & {
        implement: (wrapper: SCRTPointLine3DSceneEntityWrapper) => SCRTPointLine3DSceneEntity;
    };
    SCRTAxisRange: new () => SCRTAxisRange;
    eSCRTGridDrawingFeatures: {
        SCRT_GRID_DRAWING_FEATURES_SOLID: eSCRTGridDrawingFeatures;
        SCRT_GRID_DRAWING_FEATURES_WIREFRAME: eSCRTGridDrawingFeatures;
        SCRT_GRID_DRAWING_FEATURES_CONTOURS: eSCRTGridDrawingFeatures;
        SCRT_GRID_DRAWING_FEATURES_SKIRT: eSCRTGridDrawingFeatures;
    };
    eSCRTGridMeshResolution: {
        SCRT_GRID_MESH_RES_X1: eSCRTGridMeshResolution;
        SCRT_GRID_MESH_RES_X2: eSCRTGridMeshResolution;
        SCRT_GRID_MESH_RES_X4: eSCRTGridMeshResolution;
    };
    SCRTGridDrawingProperties: new () => SCRTGridDrawingProperties;
    SCRTGridMeshEntity: (new () => SCRTGridMeshEntity) & {
        implement: (wrapper: SCRTGridMeshEntityWrapper) => SCRTGridMeshEntity;
    };
    eAxisPlaneDrawLabelsMode: {
        AxisPlaneDrawLabelsBoth: eAxisPlaneDrawLabelsMode;
        AxisPlaneDrawLabelsHidden: eAxisPlaneDrawLabelsMode;
        AxisPlaneDrawLabelsLocalX: eAxisPlaneDrawLabelsMode;
        AxisPlaneDrawLabelsLocalY: eAxisPlaneDrawLabelsMode;
    };
    eAxisPlaneDrawTitlesMode: {
        AxisPlaneDrawTitlesBoth: eAxisPlaneDrawTitlesMode;
        AxisPlaneDrawTitlesHidden: eAxisPlaneDrawTitlesMode;
        AxisPlaneDrawTitlesLocalX: eAxisPlaneDrawTitlesMode;
        AxisPlaneDrawTitlesLocalY: eAxisPlaneDrawTitlesMode;
    };
    AxisPlaneVisibilityMode: {
        Auto: AxisPlaneVisibilityMode;
        PositiveSide: AxisPlaneVisibilityMode;
        NegativeSide: AxisPlaneVisibilityMode;
    };
    eAxisPlaneVisibilityMode: {
        AxisPlaneVisibilityOneSide: eAxisPlaneVisibilityMode;
        AxisPlaneVisibilityBackfaceCulled: eAxisPlaneVisibilityMode;
        AxisPlaneVisibilityManual: eAxisPlaneVisibilityMode;
    };
    SCRTAxisCubeDescriptor: new () => SCRTAxisCubeDescriptor;
    SCRTAxisCubeEntity: (new () => SCRTAxisCubeEntity) & {
        implement: (wrapper: SCRTAxisCubeEntityWrapper) => SCRTAxisCubeEntity;
    };
    SCRTMesh: new () => SCRTMesh;
    SCRTLinesMesh: new (lineThickness: number, isStrips: boolean, isAntialias: boolean) => SCRTLinesMesh;
    eSCRTMesh: {
        SCRT_MESH_CUBE: eSCRTMesh;
        SCRT_MESH_SPHERE: eSCRTMesh;
        SCRT_MESH_PYRAMID: eSCRTMesh;
        SCRT_MESH_CYLINDER: eSCRTMesh;
    };
    eSCRTTexture: {
        SCRT_TEXTURE_SOLIDWHITE: eSCRTTexture;
        SCRT_TEXTURE_CIRCLE: eSCRTTexture;
        SCRT_TEXTURE_SQUARE: eSCRTTexture;
        SCRT_TEXTURE_TRIANGLE: eSCRTTexture;
    };
    SCRTSelectionInfo: new () => SCRTSelectionInfo;
    SCRTWaterMarkProperties: new () => SCRTWaterMarkProperties;
    SCRTFrameRenderer3D: new () => SCRTFrameRenderer3D;
    SCRTNodeOverrideParams: new () => SCRTNodeOverrideParams;
    eSCRTVehicule: {
        AstonMartin: eSCRTVehicule;
    };
    SCRTNativeExampleCADObject: new (vehicule: eSCRTVehicule) => SCRTNativeExampleCADObject;
    SCRTSurfaceDestination: {
        implement: (wrapper: SCRTSurfaceDestinationWrapper) => SCRTSurfaceDestination;
    };
    SCRTRenderLoopManager: {
        implement: (wrapper: SCRTRenderLoopManagerWrapper) => SCRTRenderLoopManager;
    };
    SCRTCopyToDestinationInterface: {
        implement: (wrapper: SCRTCopyToDestinationInterfaceWrapper) => SCRTCopyToDestinationInterface;
    };
    SCRTFileLoadCallbackInterface: {
        implement: (wrapper: SCRTFileLoadCallbackInterfaceWrapper) => SCRTFileLoadCallbackInterface;
    };
    IntVector: new () => IntVector;
    UIntVector: new () => UIntVector;
    FloatVector: new () => FloatVector;
    DoubleVector: new () => DoubleVector;
    StringVector: new () => StringVector;
    WStringVector: new () => WStringVector;
    TSRVector2: (new () => TSRVector2) & (new (x: number, y: number) => TSRVector2);
    TSRVector3: (new () => TSRVector3) & (new (x: number, y: number, z: number) => TSRVector3);
    TSRVector4: (new () => TSRVector4) & (new (x: number, y: number, z: number, w: number) => TSRVector4);
    SCRTFontKey: new (name: string, size: number, transformed: boolean, advanced: boolean, slug: boolean) => SCRTFontKey;
    eTSRCameraProjectionMode: {
        CAMERA_PROJECTIONMODE_PERSPECTIVE: eTSRCameraProjectionMode;
        CAMERA_PROJECTIONMODE_ORTHOGONAL: eTSRCameraProjectionMode;
    };
    TSRCamera: new () => TSRCamera;
    eTSRTextAlignMode: {
        Left: eTSRTextAlignMode;
        Center: eTSRTextAlignMode;
        Right: eTSRTextAlignMode;
    };
    TSRTextBounds: new () => TSRTextBounds;
    TSRTextLineBounds: new () => TSRTextLineBounds;
};
export declare class SCRTDoubleVector {
    push_back(_dNewValue: number): void;
    resize(_iNewSize: number, _dInitialValue: number): void;
    resizeFast(_iNewSize: number): void;
    reserve(_iCount: number): void;
    clear(): void;
    size(): number;
    capacity(): number;
    get(_iIndex: number): number;
    set(_iIndex: number, _dValue: number): void;
    insertAt(_iIndex: number, _dValue: number): void;
    removeAt(_iIndex: number): void;
    removeRange(_iIndex: number, _iCount: number): void;
    dataPtr(_iOffset: number): number;
    delete(): void;
}
export declare class SCRTFloatVector {
    push_back(_dNewValue: number): void;
    resize(_iNewSize: number, _dInitialValue: number): void;
    resizeFast(_iNewSize: number): void;
    reserve(_iCount: number): void;
    clear(): void;
    size(): number;
    capacity(): number;
    get(_iIndex: number): number;
    set(_iIndex: number, _dValue: number): void;
    insertAt(_iIndex: number, _dValue: number): void;
    removeAt(_iIndex: number): void;
    removeRange(_iIndex: number, _iCount: number): void;
    dataPtr(_iOffset: number): number;
    delete(): void;
}
export declare class SCRTUintVector {
    push_back(_dNewValue: number): void;
    resize(_iNewSize: number, _dInitialValue: number): void;
    resizeFast(_iNewSize: number): void;
    reserve(_iCount: number): void;
    clear(): void;
    size(): number;
    capacity(): number;
    get(_iIndex: number): number;
    set(_iIndex: number, _dValue: number): void;
    insertAt(_iIndex: number, _dValue: number): void;
    removeAt(_iIndex: number): void;
    removeRange(_iIndex: number, _iCount: number): void;
    dataPtr(_iOffset: number): number;
    delete(): void;
}
export declare class TSRMesh {
    delete(): void;
}
export declare class TSRIndexedMesh extends TSRMesh {
    delete(): void;
}
export declare class eTSRTextureFormat {
}
/**
 *WebAssembly / Native CoordinateCalculator base class: Converts pixel coordinates to data-values and vice versa
 */
export declare class CoordinateCalculator {
    GetCoordinate(dataValue: number): number;
    GetCoordinatesVec(_paDataValues: SCRTDoubleVector, _paOutput: SCRTFloatVector, _iSrcIndex: number, _iDestIndex: number, _iCount: number, _dOffset: number): void;
    GetDataValue(coordinate: number): number;
    CanSupportMatrices(): boolean;
    IsFlipped(): boolean;
    delete(): void;
}
/**
 *WebAssembly / Native Linear Coordinate Calculator: Converts pixel coordinates to data-values and vice versa. Double precision version.
 */
export declare class LinearCoordinateCalculatorDouble extends CoordinateCalculator {
    extraOffset: number;
    delete(): void;
}
/**
 *WebAssembly / Native Flipped Linear Coordinate Calculator: Converts pixel coordinates to data-values and vice versa.  Double precision version. Inverse of {@link FlippedLinearCoordinateCalculatorDouble}
 */
export declare class FlippedLinearCoordinateCalculatorDouble extends CoordinateCalculator {
    delete(): void;
}
/**
 *WebAssembly / Native Linear Coordinate Calculator: Converts pixel coordinates to data-values and vice versa. Float32 version.
 */
export declare class LinearCoordinateCalculatorSingle extends CoordinateCalculator {
    extraOffset: number;
    delete(): void;
}
/**
 *WebAssembly / Native Flipped Linear Coordinate Calculator: Converts pixel coordinates to data-values and vice versa. Float32 version. Inverse of {@link LinearCoordinateCalculatorSingle}
 */
export declare class FlippedLinearCoordinateCalculatorSingle extends CoordinateCalculator {
    delete(): void;
}
/**
 *WebAssembly / Native Catetory Coordinate Calculator: Converts pixel coordinates to data-values and vice versa. Uses index not data-value for conversion
 */
export declare class CategoryCoordinateCalculatorDouble extends CoordinateCalculator {
    TransformDataToIndex(dataValue: number, baseXValues: SCRTDoubleVector): number;
    TransformIndexToData(index: number, baseXValues: SCRTDoubleVector): number;
    delete(): void;
}
/**
 *WebAssembly / Native Catetory Coordinate Calculator: Converts pixel coordinates to data-values and vice versa. Uses index not data-value for conversion. Inverse of CategoryCoordinateCalculatorDouble
 */
export declare class FlippedCategoryCoordinateCalculatorDouble extends CoordinateCalculator {
    TransformDataToIndex(dataValue: number, baseXValues: SCRTDoubleVector): number;
    TransformIndexToData(index: number, baseXValues: SCRTDoubleVector): number;
    delete(): void;
}
/**
 *WebAssembly / Native Logarithmic Coordinate Calculator: Converts pixel coordinates to data-values and vice versa. Double precision version.
 */
export declare class LogarithmicCoordinateCalculator extends CoordinateCalculator {
    delete(): void;
}
/**
 *WebAssembly / Native Flipped Logarithmic Coordinate Calculator: Converts pixel coordinates to data-values and vice versa. Double precision version. Inverse of {@link LogarithmicCoordinateCalculator}
 */
export declare class FlippedLogarithmicCoordinateCalculator extends CoordinateCalculator {
    delete(): void;
}
/**
 *WebAssembly / Native Double-precision 64-bit Range object. A tuple which contains min and max values.
 */
export declare class SCRTDoubleRange {
    minD: number;
    maxD: number;
    delete(): void;
}
/**
 *WebAssembly / Native numerical methods with access to common functions and operations.
 */
export declare class NumberUtil {
    delete(): void;
}
export declare class SCRTLicenseType {
}
/**
 *@ignore
 */
export declare class SCRTCredentials {
    delete(): void;
}
/**
 *WebAssembly / Native numerical methods for calculating tick spacing and scaling on axis.
 */
export declare class NiceDoubleScale {
    delete(): void;
}
/**
 *WebAssembly / Native numerical methods for calculating logarithmic tick spacing and scaling on axis.
 */
export declare class NiceLogScale {
    delete(): void;
}
/**
 *WebAssembly / Native numerical methods for calculating common functions in 3D space.
 */
export declare class Math3D {
    delete(): void;
}
/**
 *WebAssembly / Native Double-precision 64-bit tuple object for Pitch and Yaw
 */
export declare class PitchYaw {
    pitch: number;
    yaw: number;
    delete(): void;
}
export declare class TSRCommandBuffer {
    delete(): void;
}
/**
 *WebAssembly / Native class to store style information for 3D Chart axis ticks. Contains stroke color in RGBA format, stroke thickness and start/end for size of the tick
 */
export declare class SCRTTickStyle {
    GetStrokeColorPtr(): TSRVector4;
    m_fStrokeThickness: number;
    m_fStart: number;
    m_fEnd: number;
    delete(): void;
}
/**
 *WebAssembly / Native class to store style information for 3D Chart axis fonts. Contains font color in ARGB format, font family as a string, font size and dpi scaling factor
 */
export declare class SCRTTextStyle {
    m_strFont: string;
    m_fSize: number;
    m_uiARGBColor: number;
    m_fDpiScaling: number;
    m_MultilineAlignment: eTSRTextAlignMode;
    m_fMultilineSpacing: number;
    delete(): void;
}
export declare class eSCRTAxisTitleRotationMode {
}
export declare class eSCRTTickLabelOrientationMode {
}
/**
 *WebAssembly / Native class to store style information for 3D Chart Axis.
 */
export declare class SCRTAxisDescriptor {
    SetTextStyle(textStyle: SCRTTextStyle): void;
    SetTitleTextStyle(textStyle: SCRTTextStyle): void;
    SetLabelTextStyle(textStyle: SCRTTextStyle): void;
    GetMinors(): FloatVector;
    SetMinors(minors: FloatVector): void;
    GetMajors(): FloatVector;
    SetMajors(majors: FloatVector): void;
    GetMajorLabels(): WStringVector;
    SetMajorLabels(labels: WStringVector): void;
    GetMajorLineStylePtr(): SCRTTickStyle;
    GetMinorLineStylePtr(): SCRTTickStyle;
    GetMinorTickStylePtr(): SCRTTickStyle;
    GetMajorTickStylePtr(): SCRTTickStyle;
    GetBandColorPtr(): TSRVector4;
    GetBorderColorPtr(): TSRVector4;
    GetBackgroundColorPtr(): TSRVector4;
    GetTextStylePtr(): SCRTTextStyle;
    GetTitleTextStylePtr(): SCRTTextStyle;
    GetLabelTextStylePtr(): SCRTTextStyle;
    m_strTitle: string;
    m_fTitleOffset: number;
    m_fRangeSize: number;
    m_uiLabelStyle: number;
    m_uiAxisBandStyle: number;
    m_bMajorLinesEnabled: boolean;
    m_bMinorLinesEnabled: boolean;
    m_bMajorTicksEnabled: boolean;
    m_bMinorTicksEnabled: boolean;
    m_bLabelsEnabled: boolean;
    m_bBandsEnabled: boolean;
    m_bBackgroundEnabled: boolean;
    m_bDepthIgnoreEnabled: boolean;
    m_fLabelsOffset: number;
    m_bSmoothLabelOverlapAvoidance: boolean;
    m_fBorderThickness: number;
    m_eTitleRotationMode: eSCRTAxisTitleRotationMode;
    m_eLabelsRotationMode: eSCRTTickLabelOrientationMode;
    delete(): void;
}
/**
 *WebAssembly / Native Scene graph root object. Add and remove entities from the 3D scene to see them rendered in the viewport
 */
export declare class SCRTSceneWorld {
    ClearEntities(): void;
    AddEntity(entity: SCRTSceneEntity): void;
    RemoveEntity(entity: SCRTSceneEntity): void;
    GetMainCamera(): TSRCamera;
    Update(deltaTime: number): void;
    RenderHUD(Cmd: TSRCommandBuffer): void;
    GetEntitiesCount(): number;
    GetEntity(index: number): SCRTSceneEntity;
    Init(): void;
    SetWorldDimensions(worldDimensions: TSRVector3): void;
    GetWorldDimensions(): TSRVector3;
    TransformWorldToScreenCoords(_worldCoords: TSRVector3): TSRVector2;
    SetCanvasId(canvasId: string): void;
    SetVisibleRangeMin(visibleRangeMin: TSRVector3): void;
    SetVisibleRangeMax(visibleRangeMax: TSRVector3): void;
    SetUseClipPlanes(useClipPlanes: boolean): void;
    GetMainLightMode(): number;
    SetMainLightMode(mainLightMode: number): void;
    GetMainLightDirection(): TSRVector3;
    SetMainLightDirection(mainLightDirection: TSRVector3): void;
    GetAmbientLightIntensity(): number;
    SetAmbientLightIntensity(ambientLightIntensity: number): void;
    delete(): void;
}
/**
 *WebAssembly / Native Scene entity which renders an XYZ Gizmo. Add to {@link SCRTSceneWorld} to render it in the 3D world
 */
export declare class SCRTXyzGizmoEntity extends SCRTSceneEntity {
    Update(deltaTime: number): void;
    Render(): void;
    GetOverrideEnableGizmo(): boolean;
    SetOverrideEnableGizmo(_bEnableGizmo: boolean): void;
    delete(): void;
}
export declare class SCRTXyzGizmoEntityWrapper {
    Update(deltaTime: number): void;
    Render(): void;
}
/**
 *WebAssembly / Native base class for entities added to the 3D Scene via {@link SCRTSceneWorld}
 */
export declare class SCRTSceneEntity {
    SetPosition(position: TSRVector3): void;
    SetEntityId(entityId: number): void;
    GetEntityId(): number;
    SetVisible(isVisible: boolean): void;
    IsVisible(): boolean;
    Update(deltaTime: number): void;
    Render(): void;
    ClearChildEntitiesInternal(): void;
    AddChildEntityInternal(childEntity: SCRTSceneEntity): void;
    RemoveChildEntityInternal(childEntity: SCRTSceneEntity): void;
    delete(): void;
}
export declare class SCRTSceneEntityWrapper {
    Update(deltaTime: number): void;
    Render(): void;
}
export declare class eSCRT_POINT_MARKER_TYPE {
}
/**
 *WebAssembly / Native Scatter, Bubble or Point-cloud drawing params passed to {@link SCRTPoint3DSceneEntity}
 */
export declare class SCRTPoint3DSceneEntityParams {
    SetCoordinateCalculators(xCalc: CoordinateCalculator, yCalc: CoordinateCalculator, zCalc: CoordinateCalculator): void;
    useDefaultColors: boolean;
    useDefaultScale: boolean;
    delete(): void;
}
/**
 *WebAssembly / Native 3D Scatter, Bubble or Point-cloud scene entity. Inherits {@link SCRTSceneEntity} and may be added to the 3D Scene via {@link SCRTSceneWorld}
 */
export declare class SCRTPoint3DSceneEntity extends SCRTSceneEntity {
    Update(deltaTime: number): void;
    Render(): void;
    SetOpacity(opacity: number): void;
    SetPointMarkerType(markerType: eSCRT_POINT_MARKER_TYPE): void;
    GetPointMarkerType(): eSCRT_POINT_MARKER_TYPE;
    SetPointMarkerTexture(texture: TSRTexture): void;
    GetPointMarkerTexture(): TSRTexture;
    SetPointMarkerMesh(mesh: TSRIndexedMesh): void;
    SetPointSize(pointSize: number): void;
    SetPointColor(pointColor: number): void;
    UpdateMeshesVec(xValues: SCRTDoubleVector, yValues: SCRTDoubleVector, zValues: SCRTDoubleVector, colors: SCRTUintVector, scaleFactors: SCRTFloatVector, params: SCRTPoint3DSceneEntityParams): void;
    delete(): void;
}
export declare class SCRTPoint3DSceneEntityWrapper {
    Update(deltaTime: number): void;
    Render(): void;
}
/**
 *WebAssembly / Native 3D Columns drawing params passed to {@link SCRTColumnsSceneEntity}
 */
export declare class SCRTColumnsSceneEntityParams {
    SetCoordinateCalculators(xCalc: CoordinateCalculator, yCalc: CoordinateCalculator, zCalc: CoordinateCalculator): void;
    m_bUseDefaultColors: boolean;
    m_bUseDefaultScale: boolean;
    delete(): void;
}
/**
 *WebAssembly / Native 3D Columns scene entity. Inherits {@link SCRTSceneEntity} and may be added to the 3D Scene via {@link SCRTSceneWorld}
 */
export declare class SCRTColumnsSceneEntity extends SCRTSceneEntity {
    Update(deltaTime: number): void;
    Render(): void;
    SetInstanceSize(instanceSize: number): void;
    SetInstanceMesh(mesh: TSRIndexedMesh): void;
    SetOpacity(opacity: number): void;
    SetColor(color: number): void;
    UpdateMeshesVec(xValues: SCRTDoubleVector, yValues: SCRTDoubleVector, zValues: SCRTDoubleVector, scaleFactors: SCRTFloatVector, colors: SCRTUintVector, params: SCRTColumnsSceneEntityParams): void;
    delete(): void;
}
export declare class SCRTColumnsSceneEntityWrapper {
    Update(deltaTime: number): void;
    Render(): void;
}
/**
 *WebAssembly / Native 3D Line drawing params passed to {@link SCRTPointLine3DSceneEntity}
 */
export declare class SCRTPointLines3DSceneEntityParams {
    SetCoordinateCalculators(xCalc: CoordinateCalculator, yCalc: CoordinateCalculator, zCalc: CoordinateCalculator): void;
    useDefaultColors: boolean;
    useDefaultScale: boolean;
    delete(): void;
}
/**
 *WebAssembly / Native 3D Line scene entity. Inherits {@link SCRTSceneEntity} and may be added to the 3D Scene via {@link SCRTSceneWorld}
 */
export declare class SCRTPointLine3DSceneEntity extends SCRTSceneEntity {
    Update(deltaTime: number): void;
    Render(): void;
    SetOpacity(opacity: number): void;
    SetPointMarkerType(markerType: eSCRT_POINT_MARKER_TYPE): void;
    GetPointMarkerType(): eSCRT_POINT_MARKER_TYPE;
    SetPointMarkerTexture(texture: TSRTexture): void;
    GetPointMarkerTexture(): TSRTexture;
    SetPointMarkerMesh(mesh: TSRIndexedMesh): void;
    SetPointSize(pointSize: number): void;
    SetStrokeColor(strokeColor: number): void;
    SetLineStrokeThickness(value: number): void;
    SetIsLineStrips(value: boolean): void;
    SetIsLineAntialiased(value: boolean): void;
    UpdateMeshesVec(xValues: SCRTDoubleVector, yValues: SCRTDoubleVector, zValues: SCRTDoubleVector, pointColors: SCRTUintVector, lineColors: SCRTUintVector, scaleFactors: SCRTFloatVector, params: SCRTPointLines3DSceneEntityParams): void;
    delete(): void;
}
export declare class SCRTPointLine3DSceneEntityWrapper {
    Update(deltaTime: number): void;
    Render(): void;
}
/**
 *WebAssembly / Native tuple object which contains min, max and diff for 3D Axis ranges
 */
export declare class SCRTAxisRange {
    m_fMin: number;
    m_fMax: number;
    m_fDiff: number;
    delete(): void;
}
export declare class eSCRTGridDrawingFeatures {
}
export declare class eSCRTGridMeshResolution {
}
/**
 *WebAssembly / Native 3D Surface mesh drawing params passed to {@link SCRTGridMeshEntity}
 */
export declare class SCRTGridDrawingProperties {
    SetDrawMeshAsInteger(drawMeshFlag: number): void;
    GetWireframeStrokePtr(): TSRVector4;
    GetContourColorPtr(): TSRVector4;
    m_eDrawMeshAs: eSCRTGridDrawingFeatures;
    m_bUseGradient: boolean;
    m_bUseSolidCells: boolean;
    m_fStrokeThickness: number;
    m_fContourThickness: number;
    m_fContourInterval: number;
    m_fContourOffset: number;
    m_fHardNormals: number;
    m_fHighlight: number;
    m_fShininess: number;
    m_fLightingAmount: number;
    m_bDrawBackSide: boolean;
    m_bNormalsPS: boolean;
    delete(): void;
}
/**
 *WebAssembly / Native 3D Surface Mesh scene entity. Inherits {@link SCRTSceneEntity} and may be added to the 3D Scene via {@link SCRTSceneWorld}
 */
export declare class SCRTGridMeshEntity extends SCRTSceneEntity {
    Update(deltaTime: number): void;
    Render(): void;
    SetTexture(texture: TSRTexture): void;
    GetHeightMap(): TSRTexture;
    SetOpacity(opacity: number): void;
    GetOpacity(): number;
    SetMeshRange(meshRangeX: SCRTAxisRange, meshRangeY: SCRTAxisRange, meshRangeZ: SCRTAxisRange): void;
    SetVisibleRange(visibleRangeX: SCRTAxisRange, visibleRangeY: SCRTAxisRange, visibleRangeZ: SCRTAxisRange): void;
    SetHeightmapScaleOffset(dataScaleY: number, dataOffsetY: number): void;
    SetGridDrawingProperties(properties: SCRTGridDrawingProperties): void;
    UpdateMeshesVec(heightCoords: SCRTFloatVector, zOffsets: SCRTFloatVector, cellColors: SCRTUintVector, gridWidth: number, gridHeight: number, meshResolution: eSCRTGridMeshResolution): void;
    UpdateHeightCoordinatesVec(heightCoords: SCRTFloatVector, gridWidth: number, gridHeight: number): void;
    delete(): void;
}
export declare class SCRTGridMeshEntityWrapper {
    Update(deltaTime: number): void;
    Render(): void;
}
export declare class eAxisPlaneDrawLabelsMode {
}
export declare class eAxisPlaneDrawTitlesMode {
}
export declare class AxisPlaneVisibilityMode {
}
export declare class eAxisPlaneVisibilityMode {
}
/**
 *WebAssembly / Native class to store style information for 3D Chart Axis Cube.
 */
export declare class SCRTAxisCubeDescriptor {
    GetXAxisDescPtr(): SCRTAxisDescriptor;
    GetYAxisDescPtr(): SCRTAxisDescriptor;
    GetZAxisDescPtr(): SCRTAxisDescriptor;
    m_bIsAxisCubeVisible: boolean;
    m_eZxPlaneDrawLabelsMode: eAxisPlaneDrawLabelsMode;
    m_eXyPlaneDrawLabelsMode: eAxisPlaneDrawLabelsMode;
    m_eZyPlaneDrawLabelsMode: eAxisPlaneDrawLabelsMode;
    m_eZxPlaneDrawTitlesMode: eAxisPlaneDrawTitlesMode;
    m_eXyPlaneDrawTitlesMode: eAxisPlaneDrawTitlesMode;
    m_eZyPlaneDrawTitlesMode: eAxisPlaneDrawTitlesMode;
    m_eZxPlaneVisibilityMode: AxisPlaneVisibilityMode;
    m_eXyPlaneVisibilityMode: AxisPlaneVisibilityMode;
    m_eZyPlaneVisibilityMode: AxisPlaneVisibilityMode;
    m_bIsZxPlaneVisible: boolean;
    m_bIsXyPlaneVisible: boolean;
    m_bIsZyPlaneVisible: boolean;
    m_bIsCameraChange: boolean;
    delete(): void;
}
/**
 *WebAssembly / Native 3D Axis Cube entity. Inherits {@link SCRTSceneEntity} and may be added to the 3D Scene via {@link SCRTSceneWorld}
 */
export declare class SCRTAxisCubeEntity extends SCRTSceneEntity {
    Update(deltaTime: number): void;
    Render(): void;
    GetDescriptorPtr(): SCRTAxisCubeDescriptor;
    DestroyMeshes(): void;
    delete(): void;
}
export declare class SCRTAxisCubeEntityWrapper {
    Update(deltaTime: number): void;
    Render(): void;
}
export declare class SCRTMesh {
    delete(): void;
}
export declare class SCRTLinesMesh extends SCRTMesh {
    SetVertexColor(uiColorArgb: number): void;
    SetVertex3(x: number, y: number, z: number): void;
    SetStrokeThickness(strokeThickness: number): void;
    SetOpacity(opacity: number): void;
    Freeze(): void;
    Render(commandBuffer: TSRCommandBuffer): void;
    delete(): void;
}
export declare class eSCRTMesh {
}
export declare class eSCRTTexture {
}
export declare class SCRTSelectionInfo {
    GetEntity(): SCRTSceneEntity;
    m_uiSelectionIndex: number;
    m_uiHeightMapIndexI: number;
    m_uiHeightMapIndexJ: number;
    delete(): void;
}
export declare class SCRTWaterMarkProperties {
    SetPosition(position: TSRVector2): void;
    SetOpacity(opacity: number): void;
    m_fCanvasWidth: number;
    m_bIsDarkBackground: boolean;
    delete(): void;
}
export declare class SCRTFrameRenderer3D extends SCRTFrameRenderer {
    delete(): void;
}
/**
 *WebAssembly / Native PerBatch cbuffer for the F1 vehicule shader (scrt_vehicule.fx).
 */
/**
 *WebAssembly / Native per-render-node override parameters consumed by SCRTNativeExampleCADObject::SetNodeOverride.
 */
export declare class SCRTNodeOverrideParams {
    SetNodeColor(nodeColor: TSRVector4): void;
    SetNodeFlags(nodeFlags: TSRVector4): void;
    SetRotation(rotation: TSRVector4): void;
    delete(): void;
}
export declare class eSCRTVehicule {
}
/**
 *WebAssembly / Native CAD / vehicule model scene entity. Inherits {@link SCRTSceneEntity} and may be added to the 3D Scene via {@link SCRTSceneWorld}.
 */
export declare class SCRTNativeExampleCADObject extends SCRTSceneEntity {
    TickAero(deltaTime: number): void;
    SetGlobalAeroEnabled(enabled: boolean): void;
    GetNodeHierarchyJson(): string;
    SetNodeOverride(renderNodeIndex: number, params: SCRTNodeOverrideParams): void;
    ClearNodeOverride(renderNodeIndex: number): void;
    delete(): void;
}
export declare class SCRTSurfaceDestination {
    GetWidth(): number;
    GetHeight(): number;
    GetID(): string;
    delete(): void;
}
export declare class SCRTSurfaceDestinationWrapper {
    GetWidth(): number;
    GetHeight(): number;
    GetID(): string;
}
export declare class SCRTFrameRenderer {
    delete(): void;
}
export declare class SCRTRenderLoopManager {
    InitializeChart(): void;
    Draw(canvasId: string): void;
    Update(deltaTime: number): void;
    ShutDownChart(): void;
    SetFPSCounterEnabled(enabled: boolean): void;
    AddDestination(elementID: SCRTSurfaceDestination): void;
    ClearDestinations(): void;
    GetCurrentDestination(): SCRTSurfaceDestination;
    SetFrameRenderer(frameRenderer: SCRTFrameRenderer): void;
    GetFrameRenderer(): SCRTFrameRenderer;
    SetImmediateBufferSizeKb(_iImmediateBufferSizeKb: number): void;
    delete(): void;
}
export declare class SCRTRenderLoopManagerWrapper {
    InitializeChart(): void;
    Draw(canvasId: string): void;
    Update(deltaTime: number): void;
    ShutDownChart(): void;
}
export declare class SCRTCopyToDestinationInterface {
    CopyToDestination(destinationID: string): void;
    delete(): void;
}
export declare class SCRTCopyToDestinationInterfaceWrapper {
    CopyToDestination(destinationID: string): void;
}
export declare class SCRTFileLoadCallbackInterface {
    OnLoadComplete(success: boolean, message: string): void;
    delete(): void;
}
export declare class SCRTFileLoadCallbackInterfaceWrapper {
    OnLoadComplete(success: boolean, message: string): void;
}
export declare class IntVector {
    dataPtr(offset: number): number;
    push_back(element: number): void;
    pop_back(): void;
    size(): number;
    resize(size: number, initialValue: number): void;
    reserve(size: number): void;
    clear(): void;
    fill(element: number): void;
    insertAt(index: number, element: number): void;
    removeAt(index: number): void;
    removeRange(index: number, count: number): void;
    delete(): void;
    set(index: number, element: number): void;
    get(index: number): number;
}
export declare class UIntVector {
    dataPtr(offset: number): number;
    push_back(element: number): void;
    pop_back(): void;
    size(): number;
    resize(size: number, initialValue: number): void;
    reserve(size: number): void;
    clear(): void;
    fill(element: number): void;
    insertAt(index: number, element: number): void;
    removeAt(index: number): void;
    removeRange(index: number, count: number): void;
    delete(): void;
    set(index: number, element: number): void;
    get(index: number): number;
}
export declare class FloatVector {
    dataPtr(offset: number): number;
    push_back(element: number): void;
    pop_back(): void;
    size(): number;
    resize(size: number, initialValue: number): void;
    reserve(size: number): void;
    clear(): void;
    fill(element: number): void;
    insertAt(index: number, element: number): void;
    removeAt(index: number): void;
    removeRange(index: number, count: number): void;
    delete(): void;
    set(index: number, element: number): void;
    get(index: number): number;
}
export declare class DoubleVector {
    dataPtr(offset: number): number;
    push_back(element: number): void;
    pop_back(): void;
    size(): number;
    resize(size: number, initialValue: number): void;
    reserve(size: number): void;
    clear(): void;
    fill(element: number): void;
    insertAt(index: number, element: number): void;
    removeAt(index: number): void;
    removeRange(index: number, count: number): void;
    delete(): void;
    set(index: number, element: number): void;
    get(index: number): number;
}
export declare class StringVector {
    dataPtr(offset: number): number;
    push_back(element: string): void;
    pop_back(): void;
    size(): number;
    resize(size: number, initialValue: string): void;
    reserve(size: number): void;
    clear(): void;
    fill(element: string): void;
    insertAt(index: number, element: string): void;
    removeAt(index: number): void;
    removeRange(index: number, count: number): void;
    delete(): void;
    set(index: number, element: string): void;
    get(index: number): string;
}
export declare class WStringVector {
    dataPtr(offset: number): number;
    push_back(element: string): void;
    pop_back(): void;
    size(): number;
    resize(size: number, initialValue: string): void;
    reserve(size: number): void;
    clear(): void;
    fill(element: string): void;
    insertAt(index: number, element: string): void;
    removeAt(index: number): void;
    removeRange(index: number, count: number): void;
    delete(): void;
    set(index: number, element: string): void;
    get(index: number): string;
}
export declare class TSRVector2 {
    x: number;
    y: number;
    delete(): void;
}
export declare class TSRVector3 {
    Normalize(): void;
    Dot(a: TSRVector3): number;
    Cross(a: TSRVector3, b: TSRVector3): void;
    Assign(x: number, y: number, z: number): void;
    x: number;
    y: number;
    z: number;
    delete(): void;
}
export declare class TSRVector4 {
    Assign(x: number, y: number, z: number, w: number): void;
    x: number;
    y: number;
    z: number;
    w: number;
    delete(): void;
}
export declare class SCRTFontKey {
    m_strName: string;
    m_uiSize: number;
    m_reload: boolean;
    delete(): void;
}
export declare class SCRTFont extends TSRFont {
    DrawString(text: string, color: number, x: number, y: number): void;
    DrawStringAdvanced(text: string, color: number, x: number, y: number, rotationDepth: TSRVector4, alignment: eTSRTextAlignMode, lineSpacing: number): void;
    CalculateStringBounds(text: string, bounds: TSRTextBounds, lineSpacing: number): void;
    delete(): void;
}
export declare class TSRTexture {
    GetWidth(): number;
    GetHeight(): number;
    delete(): void;
}
export declare class eTSRCameraProjectionMode {
}
export declare class TSRCamera {
    SetLoc(location: TSRVector3): void;
    GetLoc(): TSRVector3;
    SetAt(target: TSRVector3): void;
    GetAt(): TSRVector3;
    SetUp(upVector: TSRVector3): void;
    GetUp(): TSRVector3;
    SetFarClip(farClip: number): void;
    GetFarClip(): number;
    SetNearClip(nearClip: number): void;
    GetNearClip(): number;
    SetFovAngle(fovRadians: number): void;
    GetFovAngle(): number;
    SetProjectionMode(projectionMode: eTSRCameraProjectionMode): void;
    GetProjectionMode(): eTSRCameraProjectionMode;
    SetOrthoWidth(orthoWidth: number): void;
    GetOrthoWidth(): number;
    SetOrthoHeight(orthoHeight: number): void;
    GetOrthoHeight(): number;
    SetAspectRatio(aspectRatio: number): void;
    GetAspectRatio(): number;
    SetYaw(yawRadians: number): void;
    GetYaw(): number;
    SetPitch(pitchRadians: number): void;
    GetPitch(): number;
    SetRoll(rollRadians: number): void;
    GetRoll(): number;
    ComputeVectorsFromAngles(): void;
    delete(): void;
}
export declare class eTSRTextAlignMode {
}
export declare class TSRFont {
    Begin(commandBuffer: TSRCommandBuffer): void;
    End(): void;
    IsAdvanced(): boolean;
    GetFaceName(): string;
    GetSize(): number;
    GetScale(): number;
    SetScale(scale: number): void;
    m_isDrawing: boolean;
    delete(): void;
}
export declare class TSRTextBounds {
    GetLinesCount(): number;
    GetLineBounds(lineIndex: number): TSRTextLineBounds;
    m_fWidth: number;
    m_fHeight: number;
    delete(): void;
}
export declare class TSRTextLineBounds {
    m_fWidth: number;
    m_fHeight: number;
    m_fOffsetX: number;
    m_fOffsetY: number;
    delete(): void;
}
export type TSciChartCore = {
    canvas: HTMLCanvasElement;
    canvas2D: HTMLCanvasElement;
};
