import { Component, ReactNode } from "react";
import { LogViewer } from "@equinor/videx-wellog";
import { TrackMouseEvent } from "./WellLogView";
import WellLogView from "./WellLogView";
import { WellLog } from "./WellLogTypes";
import { Template } from "./WellLogTemplateTypes";
import { ColorTable } from "./ColorTableTypes";
import { WellLogController } from "./WellLogView";
import Scroller from "./Scroller";
interface Props {
    welllog: WellLog;
    template: Template;
    colorTables: ColorTable[];
    horizontal?: boolean;
    primaryAxis: string;
    hideTitles?: boolean;
    hideLegend?: boolean;
    axisTitles: Record<string, string>;
    axisMnemos: Record<string, string[]>;
    maxVisibleTrackNum?: number;
    maxContentZoom?: number;
    checkDatafileSchema?: boolean;
    onCreateController?: (controller: WellLogController) => void;
    onInfo?: (x: number, logController: LogViewer, iFrom: number, iTo: number) => void;
    onTrackScroll?: () => void;
    onTrackSelection?: () => void;
    onContentRescale?: () => void;
    onContentSelection?: () => void;
    onTrackMouseEvent?: (wellLogView: WellLogView, ev: TrackMouseEvent) => void;
    onTemplateChanged?: () => void;
}
declare class WellLogViewWithScroller extends Component<Props> {
    controller: WellLogController | null;
    scroller: Scroller | null;
    constructor(props: Props);
    componentDidMount(): void;
    shouldComponentUpdate(nextProps: Props): boolean;
    updateReadoutPanel(): void;
    onCreateController(controller: WellLogController): void;
    onTrackScroll(): void;
    onTrackSelection(): void;
    onContentRescale(): void;
    onContentSelection(): void;
    onScrollerScroll(x: number, y: number): void;
    calcPosTrack(f: number): number;
    getContentPosFraction(): number;
    getTrackPosFraction(): number;
    setScrollerPosAndZoom(): void;
    render(): ReactNode;
}
export default WellLogViewWithScroller;
