import { EventArgs, IList$1, Base, Type, IEnumerable$1, Point } from "igniteui-webcomponents-core";
import { IBucketizer } from "./IBucketizer";
import { IFastItemColumn$1 } from "igniteui-webcomponents-core";
import { Series } from "./Series";
import { Rect } from "igniteui-webcomponents-core";
import { ScalerParams } from "./ScalerParams";
import { SeriesView } from "./SeriesView";
import { Axis } from "./Axis";
import { IHasCategoryAxis } from "./IHasCategoryAxis";
import { IHasCategoryModePreference } from "./IHasCategoryModePreference";
import { Brush } from "igniteui-webcomponents-core";
import { CategoryAxisBase } from "./CategoryAxisBase";
import { NumericYAxis } from "./NumericYAxis";
import { HighlightingInfo } from "igniteui-webcomponents-core";
import { CategoryTransitionInMode } from "./CategoryTransitionInMode";
import { CategoryTransitionSourceFramePreparer } from "./CategoryTransitionSourceFramePreparer";
import { CategoryFrame } from "./CategoryFrame";
import { CategoryMode } from "./CategoryMode";
import { List$1 } from "igniteui-webcomponents-core";
import { SeriesLayerPropertyOverlay } from "./SeriesLayerPropertyOverlay";
import { Dictionary$2 } from "igniteui-webcomponents-core";
import { CategorySeriesRenderManager } from "./CategorySeriesRenderManager";
import { AssigningCategoryStyleEventArgs } from "./AssigningCategoryStyleEventArgs";
import { TransitionInSpeedType } from "./TransitionInSpeedType";
import { TransitionOutSpeedType } from "./TransitionOutSpeedType";
import { FastItemsSourceEventAction } from "igniteui-webcomponents-core";
import { CalculatedColumn } from "./CalculatedColumn";
import { ColumnSupportingCalculation } from "./ColumnSupportingCalculation";
import { RenderSurface } from "./RenderSurface";
import { SupportingCalculation$1 } from "./SupportingCalculation$1";
/**
 * @hidden
 */
export declare class FinancialEventArgs extends EventArgs {
    static $t: Type;
    constructor(a: number, b: number, c: FinancialCalculationDataSource, d: FinancialCalculationSupportingCalculations, e: FinancialSeries);
    private _position;
    get position(): number;
    set position(a: number);
    private _count;
    get count(): number;
    set count(a: number);
    private _dataSource;
    get dataSource(): FinancialCalculationDataSource;
    set dataSource(a: FinancialCalculationDataSource);
    private _supportingCalculations;
    get supportingCalculations(): FinancialCalculationSupportingCalculations;
    set supportingCalculations(a: FinancialCalculationSupportingCalculations);
    private _basedOn;
    get basedOn(): IList$1<string>;
    set basedOn(a: IList$1<string>);
}
/**
 * @hidden
 */
export declare class FinancialBucketCalculator extends Base implements IBucketizer {
    static $t: Type;
    protected a: FinancialSeriesView;
    constructor(a: FinancialSeriesView);
    getBucket(a: number): number[];
    getBucketWithoutUnknowns(a: number): number[];
    getErrorBucket(a: number, b: IFastItemColumn$1<number>): number;
    c: number;
    d: number;
    b: number;
    getBucketInfo(a: number, b: number, c: number, d: number): {
        p0: number;
        p1: number;
        p2: number;
        p3: number;
    };
    e(a: number): void;
    cacheValues(): void;
    unCacheValues(): void;
}
/**
 * @hidden
 */
export declare abstract class FinancialSeries extends Series implements IHasCategoryAxis, IHasCategoryModePreference {
    static $t: Type;
    protected hz(): List$1<SeriesLayerPropertyOverlay>;
    private aau;
    private aas;
    private aat;
    private aar;
    private aav;
    k4(): any;
    rh(a: SeriesView): void;
    x8: FinancialSeriesView;
    protected get_fa(): boolean;
    ai(): Axis[];
    kz(a: any, b: string): any;
    mo(a: string): string;
    protected zr(): number;
    private zp;
    aj(a: Point): Point[][];
    al(a: Point): Point[][];
    constructor();
    abh: Brush;
    wg(): Brush;
    wh(): Brush;
    pf(): void;
    protected get_em(): boolean;
    protected get_gb(): boolean;
    xr: CategoryAxisBase;
    ya: NumericYAxis;
    aah: string;
    get yn(): IFastItemColumn$1<number>;
    set yn(a: IFastItemColumn$1<number>);
    private yi;
    z8: string;
    get yl(): IFastItemColumn$1<number>;
    set yl(a: IFastItemColumn$1<number>);
    private yg;
    aad: string;
    get ym(): IFastItemColumn$1<number>;
    set ym(a: IFastItemColumn$1<number>);
    private yh;
    zv: string;
    get yk(): IFastItemColumn$1<number>;
    set yk(a: IFastItemColumn$1<number>);
    private yf;
    aal: string;
    get yp(): IFastItemColumn$1<number>;
    set yp(a: IFastItemColumn$1<number>);
    private yj;
    z4: string;
    z0: string;
    z2: string;
    zy: string;
    z6: string;
    protected gh(): boolean;
    yx: boolean;
    protected ys: boolean;
    assigningCategoryStyle: (sender: any, args: AssigningCategoryStyleEventArgs) => void;
    yz(): boolean;
    protected aay(a: AssigningCategoryStyleEventArgs): void;
    protected x0: CategorySeriesRenderManager;
    protected aaw(a: List$1<number[]>, b: number, c: number, d: CategoryAxisBase, e: ScalerParams, f: boolean, g: number): void;
    zh(a: Point): number;
    kj(a: Point, b: boolean): number;
    kh(a: Point, b: boolean): number;
    iw(a: Point, b: number, c: Axis, d: ScalerParams, e: number): number;
    getOffsetValue(): number;
    getCategoryWidth(): number;
    ww(a: Point, b: boolean, c: boolean): Point;
    jd(a: Point, b: boolean, c: boolean): number;
    i9(a: Point, b: boolean, c: boolean): number;
    jb(a: Point, b: boolean, c: boolean): number;
    zj(a: Point, b: boolean, c: boolean): number;
    zk(a: Point, b: boolean, c: boolean): number;
    zl(a: Point, b: boolean, c: boolean): number;
    ws(a: Point, b: boolean, c: boolean): Point;
    wu(a: Point, b: boolean, c: boolean): Point;
    abj(a: Point, b: boolean, c: boolean): Point;
    abi(a: Point, b: boolean, c: boolean): Point;
    abk(a: Point, b: boolean, c: boolean): Point;
    qp(): void;
    protected s9(a: Rect, b: Rect): void;
    protected s8(a: Rect, b: Rect): void;
    protected y2: Dictionary$2<IFastItemColumn$1<number>, string>;
    protected y3: Dictionary$2<string, string>;
    private yo;
    private aaq;
    private yr;
    protected rq(a: any, b: string, c: any, d: any): void;
    yu(a: any): boolean;
    yt(a: any): boolean;
    protected xk(a: number, b: number, c: Axis): any[];
    protected zo(a: SeriesView): number;
    protected zq(a: SeriesView): number;
    xj(a: number, b: number): any[];
    private ye;
    protected get_fh(): boolean;
    pg(): void;
    dh(a: any, b: Point, c: boolean): HighlightingInfo;
    zs(a: Point): number;
    protected yd(a: any, b: Point, c: HighlightingInfo): HighlightingInfo;
    protected yc(a: any, b: Point, c: HighlightingInfo): HighlightingInfo;
    protected yv(): boolean;
    iy(a: Point): number;
    kc(a: Point): number;
    protected get_fv(): boolean;
    a0(): CategoryAxisBase;
    ke(a: Point): number;
    kw(a: Point): any;
    xv: CategoryFrame;
    xx: CategoryFrame;
    xt: CategoryFrame;
    xu(): CategoryFrame;
    protected zi(a: Rect, b: Rect, c: Rect): number;
    x2: CategoryTransitionInMode;
    yy: boolean;
    protected gt(): boolean;
    protected x1(): CategoryTransitionInMode;
    protected c5(): TransitionInSpeedType;
    protected c8(): TransitionOutSpeedType;
    aaz(a: CategoryFrame, b: FinancialSeriesView): void;
    aax(a: CategoryFrame, b: FinancialSeriesView): void;
    hk(a: Rect, b: Rect, c: SeriesView): boolean;
    getViewInfo(a: Rect, b: Rect): {
        p0: Rect;
        p1: Rect;
    };
    x3: CategoryTransitionSourceFramePreparer;
    zm(a: FinancialSeriesView): number;
    protected pj(): void;
    r9(a: boolean): void;
    protected gu(): boolean;
    typical: (sender: any, e: FinancialEventArgs) => void;
    typicalBasedOn: (sender: any, e: FinancialEventArgs) => void;
    protected y0(a: IList$1<string>): boolean;
    get y1(): boolean;
    protected yw(): boolean;
    protected aap(a: FinancialEventArgs): void;
    protected get y9(): IEnumerable$1<number>;
    private _y6;
    private y6;
    protected get y8(): IEnumerable$1<number>;
    private _y5;
    private y5;
    protected get y7(): IEnumerable$1<number>;
    private _y4;
    private y4;
    zb(a: IList$1<number>): IList$1<number>;
    private yq;
    protected za(): IList$1<string>;
    private zf;
    getOpenColumnAsArray(): number[];
    private zd;
    getHighColumnAsArray(): number[];
    private ze;
    getLowColumnAsArray(): number[];
    private zc;
    getCloseColumnAsArray(): number[];
    private zg;
    getVolumeColumnAsArray(): number[];
    protected po(a: FastItemsSourceEventAction, b: number, c: number, d: string): void;
    protected x4(a: number, b: number): FinancialCalculationDataSource;
    zn(a: number): number;
    protected x5(a: FinancialCalculationDataSource): FinancialCalculationSupportingCalculations;
    get categoryAxis(): CategoryAxisBase;
    private xw;
    sa(a: Rect, b: RenderSurface): void;
    sb(): void;
    private xs;
    r7(a: Rect, b: Rect, c: RenderSurface, d: string, e: number): void;
    aw(a: Axis): Axis;
    preferredCategoryMode(a: CategoryAxisBase): CategoryMode;
    private xy;
    get xz(): CategoryMode;
    set xz(a: CategoryMode);
    protected get_fp(): boolean;
    sl(a: Brush, b: Brush): void;
    private aa0;
    private x9;
    private yb;
    ky(a: any): any;
    static $$p: string[];
}
/**
 * @hidden
 */
export declare class FinancialCalculationSupportingCalculations extends Base {
    static $t: Type;
    a: ColumnSupportingCalculation;
    c: ColumnSupportingCalculation;
    d: ColumnSupportingCalculation;
    b: ColumnSupportingCalculation;
    h: DataSourceSupportingCalculation;
    f: DataSourceSupportingCalculation;
    g: DataSourceSupportingCalculation;
    e: DataSourceSupportingCalculation;
    k: (arg1: (arg1: number) => number, arg2: number, arg3: number) => IEnumerable$1<number>;
    j: (arg1: (arg1: number) => number, arg2: number) => IEnumerable$1<number>;
    i: (arg1: number) => number;
}
/**
 * @hidden
 */
export declare class DataSourceSupportingCalculation extends SupportingCalculation$1<(dataSource: FinancialCalculationDataSource) => IEnumerable$1<number>> {
    static $t: Type;
    constructor(a: number, b: (dataSource: FinancialCalculationDataSource) => IEnumerable$1<number>);
    constructor(a: number, b: (dataSource: FinancialCalculationDataSource) => IEnumerable$1<number>, c: IList$1<string>);
    constructor(a: number, ..._rest: any[]);
}
/**
 * @hidden
 */
export declare class FinancialCalculationDataSource extends Base {
    static $t: Type;
    private _openColumn;
    get openColumn(): IList$1<number>;
    set openColumn(a: IList$1<number>);
    private _closeColumn;
    get closeColumn(): IList$1<number>;
    set closeColumn(a: IList$1<number>);
    private _highColumn;
    get highColumn(): IList$1<number>;
    set highColumn(a: IList$1<number>);
    private _lowColumn;
    get lowColumn(): IList$1<number>;
    set lowColumn(a: IList$1<number>);
    private _volumeColumn;
    get volumeColumn(): IList$1<number>;
    set volumeColumn(a: IList$1<number>);
    private _indicatorColumn;
    get indicatorColumn(): IList$1<number>;
    set indicatorColumn(a: IList$1<number>);
    private _typicalColumn;
    get typicalColumn(): CalculatedColumn;
    set typicalColumn(a: CalculatedColumn);
    private _trueRange;
    get trueRange(): CalculatedColumn;
    set trueRange(a: CalculatedColumn);
    private _trueLow;
    get trueLow(): CalculatedColumn;
    set trueLow(a: CalculatedColumn);
    private _period;
    get period(): number;
    set period(a: number);
    private _shortPeriod;
    get shortPeriod(): number;
    set shortPeriod(a: number);
    private _longPeriod;
    get longPeriod(): number;
    set longPeriod(a: number);
    private _count;
    get count(): number;
    set count(a: number);
    private _calculateFrom;
    get calculateFrom(): number;
    set calculateFrom(a: number);
    private _calculateCount;
    get calculateCount(): number;
    set calculateCount(a: number);
    private _multiplier;
    get multiplier(): number;
    set multiplier(a: number);
    private _minimumValue;
    get minimumValue(): number;
    set minimumValue(a: number);
    private _maximumValue;
    get maximumValue(): number;
    set maximumValue(a: number);
    private _specifiesRange;
    get specifiesRange(): boolean;
    set specifiesRange(a: boolean);
    private _series;
    get series(): FinancialSeries;
    set series(a: FinancialSeries);
}
/**
 * @hidden
 */
export declare abstract class FinancialSeriesView extends SeriesView {
    static $t: Type;
    cf: FinancialSeries;
    cd: FinancialBucketCalculator;
    ch: number;
    cg(a: CategoryFrame): boolean;
    ci(a: CategoryFrame): void;
    constructor(a: FinancialSeries);
    protected abstract ce(): FinancialBucketCalculator;
    a4(): void;
    getDefaultTooltipTemplate(): string;
    protected an(): void;
}
