import { BarData, TapeData, TickData, Writeable } from "./typedef.js";
import { IBarReceiver, ITickReceiver } from "./interfaces.js";
export type BarInfo = Writeable<BarData>;
export declare class BarGenerator implements ITickReceiver {
    private readonly receivers;
    private readonly symbol;
    private readonly maxVolume;
    private shouldUpdate;
    private bar?;
    constructor(symbol: string, maxVolume?: number);
    get receiverCount(): number;
    addReceiver(receiver: IBarReceiver): void;
    removeReceiver(receiver: IBarReceiver): void;
    onTick(tick: TickData, tape: TapeData): void;
    private _createBar;
}
export declare const createBarGenerator: (symbol: string, maxVolume?: number) => BarGenerator;
