import { type Bounds4, type Point } from 'ag-charts-core';
import type { AnnotationContext } from '../annotationTypes';
import { ChannelScene } from '../scenes/channelScene';
import { DivariantHandle, UnivariantHandle } from '../scenes/handle';
import type { ParallelChannelProperties } from './parallelChannelProperties';
type ChannelHandle = keyof ParallelChannelScene['handles'];
export declare class ParallelChannelScene extends ChannelScene<ParallelChannelProperties> {
    static is(value: unknown): value is ParallelChannelScene;
    type: string;
    activeHandle?: ChannelHandle;
    handles: {
        topLeft: DivariantHandle;
        topMiddle: UnivariantHandle;
        topRight: DivariantHandle;
        bottomLeft: DivariantHandle;
        bottomMiddle: UnivariantHandle;
        bottomRight: DivariantHandle;
    };
    private readonly middleLine;
    constructor();
    dragHandle(datum: ParallelChannelProperties, target: Point, context: AnnotationContext, snapping: boolean): void;
    protected getTranslatePointsVectors(start: Point, end: Point): {
        start: Point;
        end: Point;
        bottomStart: Point;
        bottomEnd: Point;
    };
    containsPoint(x: number, y: number): boolean;
    getNodeAtCoords(x: number, y: number): string | undefined;
    updateLines(datum: ParallelChannelProperties, top: Bounds4, bottom: Bounds4, context: AnnotationContext, naturalTop: Bounds4, naturalBottom: Bounds4): void;
    updateHandles(datum: ParallelChannelProperties, top: Bounds4, bottom: Bounds4): void;
    updateText(datum: ParallelChannelProperties, top: Bounds4, bottom: Bounds4): void;
    getBackgroundPoints(datum: ParallelChannelProperties, top: Bounds4, bottom: Bounds4, bounds: Bounds4): [Point, Point];
}
export {};
