export type TSciChart = {
    canvas: HTMLCanvasElement;
    canvas2D: HTMLCanvasElement;
    SCRTFillTextureFloat32: (texture: TSRTexture, width: number, height: number, pixels: SCRTFloatVector) => TSRVector4;
    SCRTMultiplyColorVectorOpacity: (originalVector: IntVector, resultVector: IntVector, factor: number) => void;
    SCRTSetMainWindowSize: (width: number, height: number) => void;
    SCRTDoLeakCheck: () => void;
    SCRTCreateBitmapTexture: (width: number, height: number, textureFormat: eTSRTextureFormat) => TSRTexture;
    SCRTSetTextureLinearSamplerEnabled: (texture: TSRTexture, enabled: boolean) => void;
    SCRTFillTextureAbgr: (texture: TSRTexture, width: number, height: number, pixels: IntVector) => void;
    SCRTSetActiveTexture: (texture: TSRTexture) => void;
    SCRTCreatePalette: (colors: IntVector) => SCRTPalette;
    SCRTFillVectorSequential: (input: SCRTDoubleVector, count: number) => void;
    SCRTMemMove: (destPtr: number, sourcePtr: number, count: number) => void;
    SCRTMemCopy: (destPtr: number, sourcePtr: number, count: number) => void;
    SCRTInitEngine2D: () => void;
    SCRTShutdownEngine2D: () => void;
    TSRRequestExit: () => void;
    TSRRequestDraw: () => void;
    TSRRequestCanvasDraw: (canvasID: string) => void;
    TSRSetDrawRequestsEnabled: (enabled: boolean) => void;
    SCRTGetMainRenderContext2D: () => SCRTRenderContext;
    SCRTGetScreenWidth: () => number;
    SCRTGetScreenHeight: () => number;
    SCRTSetWaterMarkProperties: (properties: SCRTWaterMarkProperties) => void;
    SCRTSplineHelperCubicSpline: (xValues: SCRTDoubleVector, yValues: SCRTDoubleVector, xsValues: SCRTDoubleVector, ysValues: SCRTDoubleVector, initialSize: number, interpolationPoints: number, containsNAN: boolean) => void;
    SCRTAnimationHelperWave: (yValues: SCRTDoubleVector, durationFraction: number, zeroLine: number, progress: number, ysValues: SCRTDoubleVector) => number;
    SCRTAnimationHelperSweep: (yValues: SCRTDoubleVector, progress: number, ysValues: SCRTDoubleVector) => number;
    SCRTAnimationHelperScale: (yValues: SCRTDoubleVector, zeroLine: number, progress: number, ysValues: SCRTDoubleVector) => number;
    SCRTAnimationHelperFade: (yValues: SCRTDoubleVector, progress: number, ysValues: SCRTDoubleVector) => number;
    SCRTInterpolatePolarLine: (inParams: SCRTPolarInterpolationParams, outParams: SCRTPolarInterpolationParams, radialCoordinateCalculator: CoordinateCalculator, angularRange: number, totalPoints: number, closeNaNGaps: boolean) => void;
    SCRTInterpolatePolarBand: (inParams: SCRTPolarInterpolationParams, outParams: SCRTPolarInterpolationParams, radialCoordinateCalculator: CoordinateCalculator, angularRange: number, totalPoints: number, closeNaNGaps: boolean) => 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;
    GetMallinfoStats: () => MallinfoStats;
    SCRTDoubleVector: (new () => SCRTDoubleVector) & (new (capacity: number) => SCRTDoubleVector);
    SCRTFifoVector: new (fifoCapacity: number) => SCRTFifoVector;
    SCRTFloatVector: new () => SCRTFloatVector;
    SCRTUintVector: new () => SCRTUintVector;
    eTSRTextureFormat: {
        TSR_TEXTUREFORMAT_A8B8G8R8: eTSRTextureFormat;
        TSR_TEXTUREFORMAT_A8R8G8B8: eTSRTextureFormat;
        TSR_TEXTUREFORMAT_R32F: eTSRTextureFormat;
    };
    ResamplingMode: {
        None: ResamplingMode;
        MinMax: ResamplingMode;
        Min: ResamplingMode;
        Max: ResamplingMode;
        Mid: ResamplingMode;
        MinOrMax: ResamplingMode;
        Auto: ResamplingMode;
    };
    ResamplingData: {
        LinearData: ResamplingData;
        CategoryData: ResamplingData;
        UnevenlySpacedData: ResamplingData;
        UnsortedData: ResamplingData;
    };
    SCRTDoubleResamplerMergeIndicesParams: new () => SCRTDoubleResamplerMergeIndicesParams;
    ResamplingArgs: new () => ResamplingArgs;
    SCRTXvaluesProvider: new () => SCRTXvaluesProvider;
    SCRTDoubleArraysXyResampleOutput: new () => SCRTDoubleArraysXyResampleOutput;
    SCRTDoubleResampler: new () => SCRTDoubleResampler;
    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;
    IndexCalculator: new () => IndexCalculator;
    IndexCalculatorParams: new () => IndexCalculatorParams;
    IndexCoordinateCalculator: new (indexCalculatorParams: IndexCalculatorParams) => IndexCoordinateCalculator;
    FlippedIndexCoordinateCalculator: new (indexCalculatorParams: IndexCalculatorParams) => FlippedIndexCoordinateCalculator;
    SCRTPolarCoordinateTransform: new (XCenter: number, YCenter: number, StartAngle: number) => SCRTPolarCoordinateTransform;
    SCRTFrameRenderer2D: new () => SCRTFrameRenderer2D;
    SCRTDrawLinesParams: new () => SCRTDrawLinesParams;
    SCRTPrimitivesEffect: {
        Triangles: SCRTPrimitivesEffect;
        BlurredTriangles: SCRTPrimitivesEffect;
        Heatmap: SCRTPrimitivesEffect;
        Contours: SCRTPrimitivesEffect;
    };
    SCRTDrawPrimitivesParams: new () => SCRTDrawPrimitivesParams;
    SCRTDrawRectsParams: new () => SCRTDrawRectsParams;
    SCRTDrawArcsParams: new () => SCRTDrawArcsParams;
    SCRTLineGapMode: {
        Default: SCRTLineGapMode;
        DrawGaps: SCRTLineGapMode;
        CloseGaps: SCRTLineGapMode;
    };
    SCRTTriangleDrawMode: {
        List: SCRTTriangleDrawMode;
        Polygon: SCRTTriangleDrawMode;
        Strip: SCRTTriangleDrawMode;
    };
    SCRTDrawingParams: new () => SCRTDrawingParams;
    SCRTLineDrawingParams: new () => SCRTLineDrawingParams;
    SCRTLineSeriesDrawingProvider: new () => SCRTLineSeriesDrawingProvider;
    SCRTSmearSeriesParams: new () => SCRTSmearSeriesParams;
    SCRTSmearSeriesDrawingProvider: new () => SCRTSmearSeriesDrawingProvider;
    SCRTHeightColorSettings: new () => SCRTHeightColorSettings;
    SCRTHeightSeriesParams: new () => SCRTHeightSeriesParams;
    SCRTHeightSeriesDrawingProvider: new () => SCRTHeightSeriesDrawingProvider;
    SCRTLineSegmentDrawingProvider: new () => SCRTLineSegmentDrawingProvider;
    SCRTHeatmapDrawingParams: new () => SCRTHeatmapDrawingParams;
    SCRTHeatmapSeriesDrawingProvider: new () => SCRTHeatmapSeriesDrawingProvider;
    SCRTPointDrawingParams: new () => SCRTPointDrawingParams;
    SCRTScatterSeriesDrawingProvider: new () => SCRTScatterSeriesDrawingProvider;
    SCRTOhlcDrawingParams: new () => SCRTOhlcDrawingParams;
    SCRTCandlestickSeriesDrawingProvider: new () => SCRTCandlestickSeriesDrawingProvider;
    SCRTMountainDrawingParams: new () => SCRTMountainDrawingParams;
    SCRTMountainSeriesDrawingProvider: new () => SCRTMountainSeriesDrawingProvider;
    SCRTBandDrawingParams: new () => SCRTBandDrawingParams;
    SCRTBandSeriesDrawingProvider: new () => SCRTBandSeriesDrawingProvider;
    SCRTColumnDrawingParams: new () => SCRTColumnDrawingParams;
    SCRTStackedColumnSeriesDrawingProvider: new () => SCRTStackedColumnSeriesDrawingProvider;
    SCRTStackedColumnDrawingParams: new () => SCRTStackedColumnDrawingParams;
    SCRTTriangleSeriesDrawingProvider: new () => SCRTTriangleSeriesDrawingProvider;
    SCRTTriangleDrawingParams: new () => SCRTTriangleDrawingParams;
    SCRTColumnXMode: {
        ColumnXMode_Mid: SCRTColumnXMode;
        ColumnXMode_MidX2Width: SCRTColumnXMode;
        ColumnXMode_Start: SCRTColumnXMode;
        ColumnXMode_StartX2Width: SCRTColumnXMode;
        ColumnXMode_StartX2End: SCRTColumnXMode;
        ColumnXMode_Width: SCRTColumnXMode;
    };
    SCRTColumnYMode: {
        ColumnYMode_CenterHeight: SCRTColumnYMode;
        ColumnYMode_TopBottom: SCRTColumnYMode;
        ColumnYMode_TopHeight: SCRTColumnYMode;
    };
    SCRTRectangleDrawingParams: new () => SCRTRectangleDrawingParams;
    SCRTPolarColumnDrawingParams: new () => SCRTPolarColumnDrawingParams;
    SCRTPolarBandDrawingParams: new () => SCRTPolarBandDrawingParams;
    SCRTSeriesEffectType: {
        Glow: SCRTSeriesEffectType;
    };
    SCRTGlowEffect: new () => SCRTGlowEffect;
    SCRTShadowEffect: new () => SCRTShadowEffect;
    SCRTColumnSeriesDrawingProvider: new () => SCRTColumnSeriesDrawingProvider;
    SCRTBubbleSeriesDrawingProvider: new () => SCRTBubbleSeriesDrawingProvider;
    SCRTRectangleSeriesDrawingProvider: new () => SCRTRectangleSeriesDrawingProvider;
    SCRTPolarColumnSeriesDrawingProvider: new () => SCRTPolarColumnSeriesDrawingProvider;
    SCRTPolarBandSeriesDrawingProvider: new () => SCRTPolarBandSeriesDrawingProvider;
    SCRTPolarLineDrawingParams: new () => SCRTPolarLineDrawingParams;
    SCRTPolarLineSeriesDrawingProvider: new () => SCRTPolarLineSeriesDrawingProvider;
    SCRTLineType: {
        List: SCRTLineType;
        Strip: SCRTLineType;
        Digital: SCRTLineType;
        Nan: SCRTLineType;
    };
    SCRTSpriteType: {
        Normal: SCRTSpriteType;
        FixedSize: SCRTSpriteType;
    };
    SCRTCandleType: {
        CandleStick: SCRTCandleType;
        OHLC: SCRTCandleType;
    };
    SCRTPenDescriptor: new () => SCRTPenDescriptor;
    SCRTPen: new (penDesc: SCRTPenDescriptor) => SCRTPen;
    SCRTBrush: new () => SCRTBrush;
    SCRTSolidBrush: new (color: number, transparent: boolean) => SCRTSolidBrush;
    eSCRTBrushMappingMode: {
        PerPrimitive: eSCRTBrushMappingMode;
        PerScreen: eSCRTBrushMappingMode;
    };
    SCRTTextureBrushSamplerMode: {
        Linear: SCRTTextureBrushSamplerMode;
        Point: SCRTTextureBrushSamplerMode;
        Wrap: SCRTTextureBrushSamplerMode;
    };
    SCRTTextureBrush: new (texture: TSRTexture, mappingMode: eSCRTBrushMappingMode, opacity: number) => SCRTTextureBrush;
    SCRTPalette: new () => SCRTPalette;
    SCRTContourParams: new () => SCRTContourParams;
    SCRTColorVertex: (new () => SCRTColorVertex) & (new (x: number, y: number) => SCRTColorVertex);
    VectorColorVertex: new () => VectorColorVertex;
    SCRTRectVertex: (new () => SCRTRectVertex) & (new (left: number, top: number, right: number, bottom: number) => SCRTRectVertex);
    VectorRectVertex: new () => VectorRectVertex;
    SCRTColorTextureVertex: (new () => SCRTColorTextureVertex) & (new (x: number, y: number) => SCRTColorTextureVertex);
    VectorColorTextureVertex: new () => VectorColorTextureVertex;
    SCRTArcParams: new () => SCRTArcParams;
    SCRTArcVertex: new () => SCRTArcVertex;
    VectorArcVertex: new () => VectorArcVertex;
    SCRTDoubleRange: (new () => SCRTDoubleRange) & (new (min: number, max: number) => SCRTDoubleRange);
    SCRTFindIndexSearchMode: {
        Exact: SCRTFindIndexSearchMode;
        Nearest: SCRTFindIndexSearchMode;
        RoundDown: SCRTFindIndexSearchMode;
        RoundUp: SCRTFindIndexSearchMode;
    };
    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;
        FindIndex: (inputValues: SCRTDoubleVector, value: number, searchMode: SCRTFindIndexSearchMode, dataIsSortedAscending: boolean) => number;
        LinearInterpolateI: (from: number, to: number, ratio: number) => number;
    };
    SCRTHitTestHelper: {
        GetNearestXyPoint: (xCoordinateCalculator: CoordinateCalculator, yCoordinateCalculator: CoordinateCalculator, xValues: SCRTDoubleVector, yValues: SCRTDoubleVector, isSorted: boolean, xHitCoord: number, yHitCoord: number, hitTestRadius: number) => SCRTDoubleRange;
        GetNearestPolarXyPoint: (xCoordinateCalculator: CoordinateCalculator, yCoordinateCalculator: CoordinateCalculator, xValues: SCRTDoubleVector, yValues: SCRTDoubleVector, xHitCoord: number, yHitCoord: number, xDirectionOnly: boolean, isSorted: boolean) => SCRTDoubleRange;
        GetNearestTriangle: (isPolygon: boolean, polygonVertices: number, xCoordinateCalculator: CoordinateCalculator, yCoordinateCalculator: CoordinateCalculator, xValues: SCRTDoubleVector, yValues: SCRTDoubleVector, xHitCoord: number, yHitCoord: number) => SCRTDoubleRange;
    };
    NiceDoubleScale: {
        CalculateTickSpacing: (min: number, max: number, minorsPerMajor: number, maxTicks: number) => SCRTDoubleRange;
        NiceNum: (range: number, round: boolean) => number;
    };
    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;
    };
    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;
    };
    SCRTWaterMarkProperties: new () => SCRTWaterMarkProperties;
    SCRTPolarInterpolationParams: new () => SCRTPolarInterpolationParams;
    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;
    TSRCamera: new () => TSRCamera;
    eTSRTextAlignMode: {
        Left: eTSRTextAlignMode;
        Center: eTSRTextAlignMode;
        Right: eTSRTextAlignMode;
    };
    eTSRCameraProjectionMode: {
        CAMERA_PROJECTIONMODE_PERSPECTIVE: eTSRCameraProjectionMode;
        CAMERA_PROJECTIONMODE_ORTHOGONAL: eTSRCameraProjectionMode;
    };
    TSRTextBounds: new () => TSRTextBounds;
    TSRTextLineBounds: new () => TSRTextLineBounds;
};
export declare class TSRCommandBuffer {
    delete(): void;
}
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 SCRTFifoVector extends SCRTDoubleVector {
    dataPtrZero(): number;
    notifyAppend(_iCount: number): void;
    getRaw(_iIndex: number): number;
    getStartIndex(): 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 eTSRTextureFormat {
}
export declare class ResamplingMode {
}
export declare class ResamplingData {
}
/**
 *WebAssembly / Native params for MergeIndices method
 */
export declare class SCRTDoubleResamplerMergeIndicesParams {
    SetXInput(xInput: SCRTDoubleVector): void;
    SetYInput(yInput: SCRTDoubleVector): void;
    SetY1Input(y1Input: SCRTDoubleVector): void;
    SetIndices(indices: IntVector): void;
    SetIndicesOut(indices: SCRTDoubleVector): void;
    SetXOut(xOut: SCRTDoubleVector): void;
    SetYOut(yOut: SCRTDoubleVector): void;
    SetY1Out(y1Out: SCRTDoubleVector): void;
    SetY1Offset(y1Offset: number): void;
    count: number;
    isCategoryData: boolean;
    isFifoSweeping: boolean;
    delete(): void;
}
export declare class ResamplingArgs {
    Reset(): void;
    mode: ResamplingMode;
    data: ResamplingData;
    StartIndex: number;
    EndIndex: number;
    ViewportWidth: number;
    ResamplingPrecision: number;
    MinXInclusive: number;
    MaxXInclusive: number;
    IsFifo: boolean;
    FifoCapacity: number;
    InputBaseIndex: number;
    HasNaN: boolean;
    ZeroLineY: number;
    NewDataPointCount: number;
    OutputSplitIndex: number;
    delete(): void;
}
export declare class SCRTXvaluesProvider {
    SetInput(input: SCRTDoubleVector): void;
    delete(): void;
}
export declare class SCRTDoubleArraysXyResampleOutput {
    ResetWithIndices(indexesOut: SCRTDoubleVector, xOut: SCRTDoubleVector, yOut: SCRTDoubleVector): void;
    Reset(xOut: SCRTDoubleVector, yOut: SCRTDoubleVector): void;
    OutputSplitIndex: number;
    delete(): void;
}
export declare class SCRTDoubleResampler {
    UpdateIndices(indices: IntVector, xInput: SCRTXvaluesProvider, yInput: SCRTDoubleVector, resamplingMode: ResamplingMode, resamplingArgs: ResamplingArgs): number;
    Execute(xInput: SCRTXvaluesProvider, yInput: SCRTDoubleVector, out: SCRTDoubleArraysXyResampleOutput, indicesOut: IntVector, resamplingMode: ResamplingMode, resamplingArgs: ResamplingArgs): void;
    RequiresReduction(resamplingArgs: ResamplingArgs): boolean;
    MergeIndices(indices: IntVector, size1: number, size2: number, mergedIndicesOut: IntVector): number;
    CopyValuesByIndices(params: SCRTDoubleResamplerMergeIndicesParams): void;
    delete(): void;
}
/**
 *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 / Index Calculator
 */
export declare class IndexCalculator {
    UpdateVec(baseValues: SCRTDoubleVector, SetDataPointWidth: boolean): void;
    ReleaseMemory(): void;
    GetIndex(value: number): number;
    GetValue(index: number): number;
    dataPointWidth: number;
    delete(): void;
}
/**
 *WebAssembly / Index Calculator Params
 */
export declare class IndexCalculatorParams {
    SetIndexCalculator(IndexCalculator: IndexCalculator): void;
    m_dViewportDimension: number;
    m_dVisibleMin: number;
    m_dVisibleMax: number;
    m_dViewportOffset: number;
    m_dCoordOffset: number;
    m_dIndexMin: number;
    m_dIndexMax: number;
    delete(): void;
}
/**
 *WebAssembly / Native Index Coordinate Calculator
 */
export declare class IndexCoordinateCalculator extends CoordinateCalculator {
    delete(): void;
}
/**
 *WebAssembly / Native Flipped Index Coordinate Calculator
 */
export declare class FlippedIndexCoordinateCalculator extends CoordinateCalculator {
    delete(): void;
}
/**
 *WebAssembly / Native SCRTCoordinateTransform base class: Applies a global transformation to pixel coordinates
 */
export declare class SCRTCoordinateTransform {
    TransformPoint(radius: number, angle: number, outVector: TSRVector2): void;
    TransformDataPoint(xCoordCalc: CoordinateCalculator, yCoordCalc: CoordinateCalculator, xValue: number, yValue: number, outVector: TSRVector2): void;
    ReverseTransformPoint(xValue: number, yValue: number, outVector: TSRVector2): void;
    delete(): void;
}
/**
 *WebAssembly / Native Polar Coordinate Calculator: Converts pixel coordinates in r,theta to cartesian x,y
 */
export declare class SCRTPolarCoordinateTransform extends SCRTCoordinateTransform {
    XCenter: number;
    YCenter: number;
    StartAngle: number;
    TotalAngle: number;
    yIsPolar: boolean;
    delete(): void;
}
export declare class SCRTFrameRenderer2D extends SCRTFrameRenderer {
    delete(): void;
}
/**
 *WebAssembly / Draw lines parameters
 */
export declare class SCRTDrawLinesParams {
    SetPointsVec(points: VectorColorVertex): void;
    SetPen(pen: SCRTPen): void;
    SetNanPen(nanPen: SCRTPen): void;
    SetTextureBrush(textureBrush: SCRTTextureBrush): void;
    m_Type: SCRTLineType;
    delete(): void;
}
export declare class SCRTPrimitivesEffect {
}
/**
 *WebAssembly / Draw primitives parameters
 */
export declare class SCRTDrawPrimitivesParams {
    SetVerticesVec(verts: VectorColorTextureVertex): void;
    SetBrush(brush: SCRTBrush): void;
    SetHeightMapTexture(heightmapTexture: TSRTexture): void;
    SetGradientTexture(gradientTexture: TSRTexture): void;
    SetContourParams(contourParams: SCRTContourParams): void;
    m_Effect: SCRTPrimitivesEffect;
    m_vPackedFloatParams: TSRVector4;
    delete(): void;
}
/**
 *WebAssembly / Draw rects parameters
 */
export declare class SCRTDrawRectsParams {
    SetVerticesVec(vertices: VectorRectVertex): void;
    SetBrush(brush: SCRTBrush): void;
    SetPen(pen: SCRTPen): void;
    m_vAnchorParams: TSRVector4;
    m_bIsEllipses: boolean;
    delete(): void;
}
/**
 *WebAssembly / Draw arcs parameters
 */
export declare class SCRTDrawArcsParams {
    SetVerticesVec(vertices: VectorArcVertex): void;
    SetBrush(brush: SCRTBrush): void;
    SetPen(pen: SCRTPen): void;
    delete(): void;
}
export declare class SCRTLineGapMode {
}
export declare class SCRTTriangleDrawMode {
}
/**
 *WebAssembly / Drawing parameters
 */
export declare class SCRTDrawingParams {
    SetNativeContext(NativeContext: SCRTRenderContext): void;
    SetXValues(XValues: SCRTDoubleVector): void;
    SetYValues(YValues: SCRTDoubleVector): void;
    SetZValues(ZValues: SCRTDoubleVector): void;
    SetWValues(WValues: SCRTDoubleVector): void;
    SetXCoordinateCalculator(XCoordinateCalculator: CoordinateCalculator): void;
    SetYCoordinateCalculator(YCoordinateCalculator: CoordinateCalculator): void;
    SetCoordinateTransform(coordTransform: SCRTCoordinateTransform): void;
    count: number;
    startIndex: number;
    verticalChart: boolean;
    forceShaderMethod: boolean;
    delete(): void;
}
/**
 *WebAssembly / Native Line drawing params passed to {@link SCRTLineSeriesDrawingProvider}
 */
export declare class SCRTLineDrawingParams extends SCRTDrawingParams {
    SetLinesPen(linesPen: SCRTPen): void;
    SetPalettedColors(colorValues: IntVector): void;
    SetPalettedColors2(colorValues: IntVector): void;
    Reset(): void;
    containsNaN: boolean;
    isDigitalLine: boolean;
    drawDigitalVertical: boolean;
    digitalYX: boolean;
    lineGaps: SCRTLineGapMode;
    forceClamp: boolean;
    fourVectorsMode: boolean;
    paletteStart: number;
    delete(): void;
}
/**
 *WebAssembly / Native Line drawing provider, which draws batched / fast lines using our WebGL2 Rendering Engine
 */
export declare class SCRTLineSeriesDrawingProvider {
    DrawLinesVec(params: SCRTLineDrawingParams): void;
    delete(): void;
}
/**
 *WebAssembly / Native Smear series parameters, set on {@link SCRTSmearSeriesParams}
 */
export declare class SCRTSmearSeriesParams {
    SetX(xValues: SCRTDoubleVector): void;
    SetY(yValues: SCRTDoubleVector): void;
    SetColorZvalues(zValues: SCRTDoubleVector): void;
    SetColors(colorValues: IntVector): void;
    SetSmearTexture(texture: TSRTexture): void;
    SetHeightColors(heightColorSettings: SCRTHeightColorSettings): void;
    m_iCount: number;
    m_iStartIndex: number;
    m_iColorCount: number;
    m_iColorStartIndex: number;
    m_dYOffset: number;
    smoothColors: boolean;
    m_uiOutOfrangeColor: number;
    delete(): void;
}
/**
 *WebAssembly / Native Smear series drawing provider, which draws a smeared texture determined by the z Values with offsets determined by the x and y values
 */
export declare class SCRTSmearSeriesDrawingProvider {
    CreateSmearSeriesColorsTexture(colorYvalues: SCRTDoubleVector, yCoordinateCalculator: CoordinateCalculator, smearParams: SCRTSmearSeriesParams): TSRTexture;
    CreateSmearSeriesValuesTexture(xCoordinateCalculator: CoordinateCalculator, yCoordinateCalculator: CoordinateCalculator, smearParams: SCRTSmearSeriesParams): TSRTexture;
    DrawSmearSeries(nativeContext: SCRTRenderContext, smearParams: SCRTSmearSeriesParams): void;
    delete(): void;
}
/**
 *WebAssembly / Native Discrete Color stops for Height Series, set on {@link SCRTHeightSeriesParams}
 */
export declare class SCRTHeightColorSettings {
    AddColorStop(stop: number, color: number): void;
    Reset(): void;
    m_uiInfra: number;
    m_uiUltra: number;
    m_fMinHeight: number;
    m_fMaxHeight: number;
    m_bIsGradient: boolean;
    m_fMaxTextureSize: number;
    delete(): void;
}
/**
 *WebAssembly / Native Height series params passed to {@link SCRTHeightSeriesDrawingProvider}
 */
export declare class SCRTHeightSeriesParams extends SCRTDrawingParams {
    SetEdgePen(strokePen: SCRTPen): void;
    SetFillBrush(fillBrush: SCRTBrush): void;
    SetPalettedColors(colorValues: IntVector): void;
    SetHeightColors(heightColorSettings: SCRTHeightColorSettings): void;
    SetHeightsForColoring(heightValues: SCRTDoubleVector): void;
    SetNormalDirection(normalDirection: TSRVector3): void;
    Reset(): void;
    minHeight: number;
    maxHeight: number;
    isInverseHeight: boolean;
    normaliseHeights: boolean;
    paletteStart: number;
    zMultiplier: number;
    interpolate: boolean;
    delete(): void;
}
/**
 *WebAssembly / Native Height series drawing provider
 */
export declare class SCRTHeightSeriesDrawingProvider {
    DrawPointsVec(params: SCRTHeightSeriesParams): void;
    delete(): void;
}
/**
 *WebAssembly / Native Line Segment drawing provider, which draws batched / fast lines using our WebGL2 Rendering Engine
 */
export declare class SCRTLineSegmentDrawingProvider {
    DrawLinesVec(params: SCRTLineDrawingParams): void;
    delete(): void;
}
/**
 *WebAssembly / Native Scatter Point drawing params passed to {@link SCRTScatterSeriesDrawingProvider}
 */
export declare class SCRTHeatmapDrawingParams extends SCRTDrawingParams {
    delete(): void;
}
/**
 *WebAssembly / Native Heatmap drawing provider, which draws non-uniform hetamaps our WebGL2 Rendering Engine
 */
export declare class SCRTHeatmapSeriesDrawingProvider {
    DrawHeatmapNonUniform(params: SCRTHeatmapDrawingParams): void;
    DrawPolarHeatmap(polarTransform: SCRTCoordinateTransform, innerRadius: number, outerRadius: number, startAngle: number, gradientTexture: TSRTexture, heatmapTexture: TSRTexture, packedFloatParams: TSRVector4, contourParams: SCRTContourParams, endAngle: number): void;
    delete(): void;
}
/**
 *WebAssembly / Native Scatter Point drawing params passed to {@link SCRTScatterSeriesDrawingProvider}
 */
export declare class SCRTPointDrawingParams extends SCRTDrawingParams {
    SetSpriteTexture(pointTexture: TSRTexture): void;
    SetStrokeMask(strokeMask: TSRTexture): void;
    SetPalettedColors(palettedColors: IntVector): void;
    Reset(): void;
    paletteStart: number;
    zMultiplier: number;
    usePointSampling: boolean;
    delete(): void;
}
/**
 *WebAssembly / Native Scatter Point drawing provider, which draws batched / fast points using our WebGL2 Rendering Engine
 */
export declare class SCRTScatterSeriesDrawingProvider {
    DrawPointsVec(params: SCRTPointDrawingParams): void;
    delete(): void;
}
/**
 *WebAssembly / Native OHLC/Candlestick drawing params passed to {@link SCRTCandlestickSeriesDrawingProvider}
 */
export declare class SCRTOhlcDrawingParams extends SCRTDrawingParams {
    SetPens(strokeUpPen: SCRTPen, strokeDownPen: SCRTPen): void;
    SetBrushes(fillUpBrush: SCRTBrush, fillDownBrush: SCRTBrush): void;
    SetValues(xValues: SCRTDoubleVector, openValues: SCRTDoubleVector, highValues: SCRTDoubleVector, lowValues: SCRTDoubleVector, closeValues: SCRTDoubleVector): void;
    SetPalettedColors(palettedColors: IntVector): void;
    Reset(): void;
    paletteStart: number;
    candleWidth: number;
    drawAsOhlc: boolean;
    delete(): void;
}
/**
 *WebAssembly / Native Candlestick drawing provider, which draws batched / fast candles using our WebGL2 Rendering Engine
 */
export declare class SCRTCandlestickSeriesDrawingProvider {
    DrawPointsVec(params: SCRTOhlcDrawingParams): void;
    delete(): void;
}
/**
 *WebAssembly / Native Mountain/Area drawing params passed to {@link SCRTMountainSeriesDrawingProvider}
 */
export declare class SCRTMountainDrawingParams extends SCRTBandDrawingParams {
    Reset(): void;
    zeroLineY: number;
    delete(): void;
}
/**
 *WebAssembly / Native Mountain/Area drawing provider, which draws batched / fast areas using our WebGL2 Rendering Engine
 */
export declare class SCRTMountainSeriesDrawingProvider {
    DrawPointsVec(params: SCRTMountainDrawingParams): void;
    delete(): void;
}
/**
 *WebAssembly / Native Band drawing params passed to {@link SCRTBandSeriesDrawingProvider}
 */
export declare class SCRTBandDrawingParams extends SCRTDrawingParams {
    SetLinesPen(strokePen: SCRTPen): void;
    SetFillBrush(fillBrush: SCRTBrush): void;
    SetLinesPen1(strokePen: SCRTPen): void;
    SetFillBrush1(fillBrush: SCRTBrush): void;
    SetPalettedColors(colorValues: IntVector): void;
    Reset(): void;
    forceClamp: boolean;
    isDigitalLine: boolean;
    isSmoothColors: boolean;
    lineGaps: SCRTLineGapMode;
    paletteStart: number;
    delete(): void;
}
/**
 *WebAssembly / Native Band polygon drawing provider, which draws batched / fast bands using our WebGL2 Rendering Engine
 */
export declare class SCRTBandSeriesDrawingProvider {
    DrawPointsVec(params: SCRTBandDrawingParams): void;
    delete(): void;
}
/**
 *WebAssembly / Native Column drawing params passed to {@link SCRTColumnSeriesDrawingProvider}
 */
export declare class SCRTColumnDrawingParams extends SCRTDrawingParams {
    SetLinesPen(strokePen: SCRTPen): void;
    SetFillBrush(fillBrush: SCRTBrush): void;
    SetPalettedColors(palettedColors: IntVector): void;
    Reset(): void;
    paletteStart: number;
    zeroLineY: number;
    columnWidth: number;
    viewportWidth: number;
    viewportHeight: number;
    topRadius: number;
    bottomRadius: number;
    clipCoordinates: boolean;
    delete(): void;
}
/**
 *WebAssembly / Native Stacked Columns drawing provider, which draws batched / fast stacked columns using our WebGL2 Rendering Engine
 */
export declare class SCRTStackedColumnSeriesDrawingProvider {
    DrawPointsVec(params: SCRTStackedColumnDrawingParams): void;
    delete(): void;
}
/**
 *WebAssembly / Native Stacked Column drawing params passed to {@link SCRTStackedColumnSeriesDrawingProvider}
 */
export declare class SCRTStackedColumnDrawingParams extends SCRTColumnDrawingParams {
    spacing: number;
    stackedGroupCount: number;
    stackedGroupIndex: number;
    delete(): void;
}
/**
 *WebAssembly / Native Triangle series drawing provider, which draws triangles fast lines using our WebGL2 Rendering Engine
 */
export declare class SCRTTriangleSeriesDrawingProvider {
    DrawTrianglesVec(params: SCRTTriangleDrawingParams): void;
    delete(): void;
}
/**
 *WebAssembly / Native Triangle drawing params passed to {@link SCRTTriangleSeriesDrawingProvider}
 */
export declare class SCRTTriangleDrawingParams extends SCRTDrawingParams {
    SetFillBrush(fillBrush: SCRTBrush): void;
    SetPalettedColors(colors: IntVector): void;
    Reset(): void;
    drawMode: SCRTTriangleDrawMode;
    iPolygonVertices: number;
    delete(): void;
}
export declare class SCRTColumnXMode {
}
export declare class SCRTColumnYMode {
}
/**
 *WebAssembly / Native Box drawing params passed to {@link SCRTRectangleSeriesDrawingProvider}
 */
export declare class SCRTRectangleDrawingParams extends SCRTColumnDrawingParams {
    Reset(): void;
    defaultY2: number;
    yMode: SCRTColumnYMode;
    xMode: SCRTColumnXMode;
    delete(): void;
}
/**
 *WebAssembly / Native Polar column drawing params passed to {@link SCRTPolarColumnSeriesDrawingProvider}
 */
export declare class SCRTPolarColumnDrawingParams extends SCRTColumnDrawingParams {
    Reset(): void;
    defaultY2: number;
    segmentCount: number;
    xMode: SCRTColumnXMode;
    delete(): void;
}
/**
 *WebAssembly / Native Polar Band drawing params passed to {@link SCRTPolarBandSeriesDrawingProvider}
 */
export declare class SCRTPolarBandDrawingParams extends SCRTBandDrawingParams {
    SetPalettedColors(palettedColors: IntVector): void;
    Reset(): void;
    zeroLineY: number;
    scaleGradientToYRange: boolean;
    delete(): void;
}
export declare class SCRTSeriesEffectType {
}
/**
 *WebAssembly / Native Shader effect base class. See {@link SCRTGlowEffect} and {@link SCRTShadowEffect} for concrete implementations
 */
export declare class SCRTSeriesEffect {
    GetIntensity(): number;
    SetIntensity(fIntensity: number): void;
    GetRange(): number;
    SetRange(fRange: number): void;
    GetOffset(): TSRVector2;
    SetOffset(yOffset: TSRVector2): void;
    GetColor(): TSRVector4;
    SetColor(yColor: TSRVector4): void;
    delete(): void;
}
/**
 *WebAssembly / Native Shader effect which adds a glow to drawing operations. Apply by using {@link SCRTRenderContext.AddSeriesEffect} and {@link SCRTRenderContext.RemoveSeriesEffect}
 */
export declare class SCRTGlowEffect extends SCRTSeriesEffect {
    delete(): void;
}
/**
 *WebAssembly / Native Shader effect which adds a shadow to drawing operations. Apply by using {@link SCRTRenderContext.AddSeriesEffect} and {@link SCRTRenderContext.RemoveSeriesEffect}
 */
export declare class SCRTShadowEffect extends SCRTSeriesEffect {
    delete(): void;
}
/**
 *WebAssembly / Native Columns drawing provider, which draws batched / fast columns using our WebGL2 Rendering Engine
 */
export declare class SCRTColumnSeriesDrawingProvider {
    DrawPointsVec(params: SCRTColumnDrawingParams): void;
    delete(): void;
}
/**
 *WebAssembly / Native Bubbles drawing provider, which draws batched / fast bubbles using our WebGL2 Rendering Engine
 */
export declare class SCRTBubbleSeriesDrawingProvider {
    DrawPointsVec(params: SCRTPointDrawingParams): void;
    delete(): void;
}
/**
 *WebAssembly / Native box drawing provider, which draws arbitrary boxes
 */
export declare class SCRTRectangleSeriesDrawingProvider {
    DrawPoints(params: SCRTRectangleDrawingParams): void;
    delete(): void;
}
/**
 *WebAssembly / Native Polar Columns drawing provider, which draws polar columns
 */
export declare class SCRTPolarColumnSeriesDrawingProvider {
    DrawPoints(params: SCRTPolarColumnDrawingParams): void;
    delete(): void;
}
/**
 *WebAssembly / Native Polar Band drawing provider, which draws polar bands for use with band and mountain series.  Does not draw lines
 */
export declare class SCRTPolarBandSeriesDrawingProvider {
    DrawPoints(params: SCRTPolarBandDrawingParams): void;
    delete(): void;
}
/**
 *WebAssembly / Native Polar line drawing params passed to {@link SCRTPolarLineSeriesDrawingProvider}
 */
export declare class SCRTPolarLineDrawingParams extends SCRTLineDrawingParams {
    Reset(): void;
    delete(): void;
}
/**
 *WebAssembly / Native Polar Line drawing provider, which draws polar lines
 */
export declare class SCRTPolarLineSeriesDrawingProvider {
    DrawLines(params: SCRTPolarLineDrawingParams): void;
    delete(): void;
}
export declare class SCRT2DRenderingPipeline {
    Begin(): TSRCommandBuffer;
    End(): void;
    delete(): void;
}
export declare class SCRTLineType {
}
export declare class SCRTSpriteType {
}
export declare class SCRTCandleType {
}
export declare class SCRTPenDescriptor {
    SetDashPattern(dashPattern: FloatVector): void;
    m_uiColor: number;
    m_fThickness: number;
    m_bAntiAliased: boolean;
    delete(): void;
}
/**
 *WebAssembly / Native Pen, used when drawing strokes with our WebAssembly / WebGL2 Rendering Engine
 */
export declare class SCRTPen {
    GetColor(): number;
    GetThickness(): number;
    m_bGradient: boolean;
    delete(): void;
}
/**
 *WebAssembly / Native Brush base class, used when drawing strokes with our WebAssembly / WebGL2 Rendering Engine, See {@link SCRTSolidBrush} and {@link SCRTTextureBrush} for concrete implementations.
 */
export declare class SCRTBrush {
    GetColor(): number;
    GetTransparent(): boolean;
    GetOpacity(): number;
    delete(): void;
}
/**
 *WebAssembly / Native Solid Color Brush, used when drawing strokes with our WebAssembly / WebGL2 Rendering Engine
 */
export declare class SCRTSolidBrush extends SCRTBrush {
    delete(): void;
}
export declare class eSCRTBrushMappingMode {
}
export declare class SCRTTextureBrushSamplerMode {
}
/**
 *WebAssembly / Native Texture Brush, used when drawing strokes with our WebAssembly / WebGL2 Rendering Engine
 */
export declare class SCRTTextureBrush extends SCRTBrush {
    GetTexture(): TSRTexture;
    SetTexture(texture: TSRTexture): void;
    GetMappingMode(): eSCRTBrushMappingMode;
    SetMappingMode(mappingMode: eSCRTBrushMappingMode): void;
    SetSamplerMode(samplerMode: SCRTTextureBrushSamplerMode): void;
    delete(): void;
}
/**
 *WebAssembly / Native Palette base class, used when drawing per-point fill and strokes with our WebAssembly / WebGL2 Rendering Engine, See {@link SCRTPalette} for concrete implementations.
 */
export declare class SCRTPalette {
    delete(): void;
}
export declare class SCRTContourParams {
    SetColorVector(x: number, y: number, z: number, w: number): void;
    SetParamsAVector(x: number, y: number, z: number, w: number): void;
    SetParamsBVector(x: number, y: number, z: number, w: number): void;
    m_vColor: TSRVector4;
    m_vParamsA: TSRVector4;
    m_vParamsB: TSRVector4;
    delete(): void;
}
/**
 *WebAssembly / Native Drawing or Render Context. Contains functions with drawing commands to access our fast WebGL2 Rendering Engine
 */
export declare class SCRTRenderContext {
    SetClearColor(red: number, green: number, blue: number, alpha: number): void;
    Clear(): void;
    SetViewport(x: number, y: number, width: number, height: number): void;
    SetClipRect(x: number, y: number, width: number, height: number): void;
    Rotate(angle: number): void;
    Translate(x: number, y: number): void;
    ResetTransform(): void;
    DrawLines(drawLineParams: SCRTDrawLinesParams): void;
    DrawPrimitives(drawPrimitivesParams: SCRTDrawPrimitivesParams): void;
    DrawRects(drawRectsParams: SCRTDrawRectsParams): void;
    DrawArcs(drawArcssParams: SCRTDrawArcsParams): void;
    AddSeriesEffect(pSeriesEffect: SCRTSeriesEffect): void;
    RemoveSeriesEffect(pSeriesEffect: SCRTSeriesEffect): void;
    ClearSeriesEffects(): void;
    CreateTextTexture(fontKey: SCRTFontKey, text: string, frontColor: number, backColor: number): TSRTexture;
    AquireFont(fontKey: SCRTFontKey): SCRTFont;
    GetCommandBuffer(): TSRCommandBuffer;
    delete(): void;
}
/**
 *WebAssembly / Native Color vertex type. Includes {@link TSRVector3} position and integer color in RGBA format
 */
export declare class SCRTColorVertex {
    SetPosition(x: number, y: number): void;
    SetColor(color: number): void;
    m_vPosition: TSRVector3;
    m_uiColor: number;
    delete(): void;
}
export declare class VectorColorVertex {
    dataPtr(offset: number): number;
    push_back(element: SCRTColorVertex): void;
    pop_back(): void;
    size(): number;
    resize(size: number, initialValue: SCRTColorVertex): void;
    reserve(size: number): void;
    clear(): void;
    fill(element: SCRTColorVertex): void;
    insertAt(index: number, element: SCRTColorVertex): void;
    removeAt(index: number): void;
    removeRange(index: number, count: number): void;
    delete(): void;
    set(index: number, element: SCRTColorVertex): void;
    get(index: number): SCRTColorVertex;
}
/**
 *WebAssembly / Native Rect vertex type. Includes {@link TSRVector3} position, {@link TSRVector2} size and integer color in RGBA format
 */
export declare class SCRTRectVertex {
    Assign(left: number, top: number, right: number, bottom: number): void;
    m_vPosition: TSRVector2;
    m_vSize: TSRVector2;
    m_uiColor: number;
    delete(): void;
}
export declare class VectorRectVertex {
    dataPtr(offset: number): number;
    push_back(element: SCRTRectVertex): void;
    pop_back(): void;
    size(): number;
    resize(size: number, initialValue: SCRTRectVertex): void;
    reserve(size: number): void;
    clear(): void;
    fill(element: SCRTRectVertex): void;
    insertAt(index: number, element: SCRTRectVertex): void;
    removeAt(index: number): void;
    removeRange(index: number, count: number): void;
    delete(): void;
    set(index: number, element: SCRTRectVertex): void;
    get(index: number): SCRTRectVertex;
}
/**
 *WebAssembly / Native Color vertex texture type. Includes {@link TSRVector2} position, integer color in RGBA format and texture coordinate
 */
export declare class SCRTColorTextureVertex {
    SetPosition(x: number, y: number): void;
    SetTexCoord(x: number, y: number): void;
    SetColor(color: number): void;
    m_vPosition: TSRVector2;
    m_vTexCoord: TSRVector2;
    m_uiColor: number;
    delete(): void;
}
export declare class VectorColorTextureVertex {
    dataPtr(offset: number): number;
    push_back(element: SCRTColorTextureVertex): void;
    pop_back(): void;
    size(): number;
    resize(size: number, initialValue: SCRTColorTextureVertex): void;
    reserve(size: number): void;
    clear(): void;
    fill(element: SCRTColorTextureVertex): void;
    insertAt(index: number, element: SCRTColorTextureVertex): void;
    removeAt(index: number): void;
    removeRange(index: number, count: number): void;
    delete(): void;
    set(index: number, element: SCRTColorTextureVertex): void;
    get(index: number): SCRTColorTextureVertex;
}
/**
 *WebAssembly / Native Parameters for creating a circular arc using {@link SCRTArcVertex}
 */
export declare class SCRTArcParams {
    m_fCenterX: number;
    m_fCenterY: number;
    m_fStartAngle: number;
    m_fEndAngle: number;
    m_fRadius: number;
    m_fInnerRadius: number;
    m_fIsGridLineMode: number;
    m_fAspectRatio: number;
    m_fLineThickness: number;
    delete(): void;
}
/**
 *WebAssembly / Native Color Arc vertex texture type. Includes {@link TSRVector2} center, {@link TSRVector4} radii,  {@link TSRVector2} start/end angles
 */
export declare class SCRTArcVertex {
    MakeCircularArc(params: SCRTArcParams): void;
    m_vPosition: TSRVector2;
    m_vRadii: TSRVector4;
    m_vAngles: TSRVector2;
    m_vTexCoord: TSRVector2;
    delete(): void;
}
export declare class VectorArcVertex {
    dataPtr(offset: number): number;
    push_back(element: SCRTArcVertex): void;
    pop_back(): void;
    size(): number;
    resize(size: number, initialValue: SCRTArcVertex): void;
    reserve(size: number): void;
    clear(): void;
    fill(element: SCRTArcVertex): void;
    insertAt(index: number, element: SCRTArcVertex): void;
    removeAt(index: number): void;
    removeRange(index: number, count: number): void;
    delete(): void;
    set(index: number, element: SCRTArcVertex): void;
    get(index: number): SCRTArcVertex;
}
/**
 *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;
}
export declare class SCRTFindIndexSearchMode {
}
/**
 *WebAssembly / Native numerical methods with access to common functions and operations.
 */
export declare class NumberUtil {
    delete(): void;
}
/**
 *WebAssembly / Native helper methods for HitTest
 */
export declare class SCRTHitTestHelper {
    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;
}
export declare class SCRTLicenseType {
}
/**
 *@ignore
 */
export declare class SCRTCredentials {
    delete(): void;
}
export declare class SCRTWaterMarkProperties {
    SetPosition(position: TSRVector2): void;
    SetOpacity(opacity: number): void;
    m_fCanvasWidth: number;
    m_bIsDarkBackground: boolean;
    delete(): void;
}
/**
 *WebAssembly / Native Polar Interpolation vectors passed to {@link SCRTInterpolatePolarLine and SCRTInterpolatePolarBand}
 */
export declare class SCRTPolarInterpolationParams {
    SetIndexes(indexes: SCRTDoubleVector): void;
    SetX(xValues: SCRTDoubleVector): void;
    SetY(yValues: SCRTDoubleVector): void;
    SetY1(y1Values: SCRTDoubleVector): void;
    Reset(): 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 TSRTexture {
    GetWidth(): number;
    GetHeight(): number;
    delete(): void;
}
export declare class MallinfoStats {
    arena: number;
    ordblks: number;
    smblks: number;
    hblks: number;
    hblkhd: number;
    usmblks: number;
    fsmblks: number;
    uordblks: number;
    fordblks: number;
    keepcost: number;
    delete(): 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 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 eTSRCameraProjectionMode {
}
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;
}
