import { LogicalRange, MouseEventParams, Point, Range } from "lightweight-charts"; import { Observable } from "rxjs"; export type Syncable = { setVisibleLogicalRange(range: Range): void; getVisibleLogicalRange(): LogicalRange | null | undefined; readonly visibleLogicalRangeChange$: Observable; }; export type SyncableWithCrosshair = Syncable & { setCrossHairPositionByPoint(point: Point, time?: HorzScaleItem): void; clearCrosshairPosition(): void; readonly crossHairMove$: Observable>; }; export declare function isSyncableWithCrosshair(arg: Syncable): arg is SyncableWithCrosshair; export declare class SyncService { #private; readonly visibleLogicalRange$: Observable; readonly crosshairPosition$: Observable>; constructor(); register(arg: Syncable[], clearExisting?: boolean): void; deregister(arg: Syncable): void; destroy(): void; }