import type { SCRTDoubleVector } from "../../../types/TSciChart";
import type { BaseDataSeries } from "../BaseDataSeries";
import type { IDataChangeArgs } from "../IDataSeries";
import type { IOhlcDataSeriesOptions } from "../OhlcDataSeries";
import { OhlcDataSeries } from "../OhlcDataSeries";
import type { IFilterBase } from "./IFilterBase";
export interface IOhlcFilterOptions extends IOhlcDataSeriesOptions {
}
export declare abstract class OhlcFilterBase extends OhlcDataSeries implements IFilterBase {
    protected originalSeriesProperty: BaseDataSeries;
    constructor(originalSeries: BaseDataSeries, options?: IOhlcFilterOptions);
    get originalSeries(): BaseDataSeries<import("../IPointMetadata").IPointMetadata>;
    detachFromOriginalSeries(): void;
    delete(): void;
    getOriginalXValues(): SCRTDoubleVector;
    getOriginalOpenValues(): SCRTDoubleVector;
    getOriginalYValues(): SCRTDoubleVector;
    getOriginalHighValues(): SCRTDoubleVector;
    getOriginalLowValues(): SCRTDoubleVector;
    getOriginalCount(): number;
    protected abstract filterAll(): void;
    protected onOriginalPropertyChanged(name: string): void;
    protected filterOnAppend(count: number): void;
    protected filterOnUpdate(index: number): void;
    protected filterOnInsert(startIndex: number, count: number): void;
    protected filterOnRemove(startIndex: number, count: number): void;
    protected onClear(): void;
    protected onBaseDataChanged(args: IDataChangeArgs): void;
}
