import type { ICamera, Point2, Point3 } from '../../../types/index.js';
import ResolvedViewportView from '../ResolvedViewportView.js';
import type { ECGViewState, ECGDataPresentation, ECGWaveformPayload, RenderWindowMetrics } from './ECGViewportTypes.js';
type ECGResolvedViewState = {
    viewState: ECGViewState;
    canvas: HTMLCanvasElement;
    dataPresentation?: ECGDataPresentation;
    frameOfReferenceUID: string;
    metrics: RenderWindowMetrics;
    waveform: ECGWaveformPayload;
};
declare class ECGResolvedView extends ResolvedViewportView<ECGResolvedViewState> {
    private cachedCanvasMapping?;
    get zoom(): number;
    get pan(): Point2;
    canvasToWorld(canvasPos: Point2): Point3;
    worldToCanvas(worldPos: Point3): Point2;
    getFrameOfReferenceUID(): string | undefined;
    withZoom(zoom: number, canvasPoint?: Point2): ECGResolvedView;
    withPan(pan: Point2): ECGResolvedView;
    protected buildICamera(): ICamera;
    private getCanvasMapping;
    private getChannelLayouts;
    private cloneWithViewState;
}
export type { ECGResolvedViewState };
export default ECGResolvedView;
