import { Component, ReactNode } from "react";
import { WellLog } from "./components/WellLogTypes";
import { Template } from "./components/WellLogTemplateTypes";
import { ColorTable } from "./components/ColorTableTypes";
import { WellLogController } from "./components/WellLogView";
import { LogViewer } from "@equinor/videx-wellog";
import { Info, InfoOptions } from "./components/InfoTypes";
interface Props {
    welllog: WellLog;
    template: Template;
    colorTables: ColorTable[];
    horizontal?: boolean;
    hideTitles?: boolean;
    hideLegend?: boolean;
    domain?: [number, number];
    selection?: [number | undefined, number | undefined];
    readoutOptions?: InfoOptions;
    onContentRescale?: () => void;
    onContentSelection?: () => void;
    onTemplateChanged?: () => void;
    onCreateController?: (controller: WellLogController) => void;
}
interface State {
    axes: string[];
    primaryAxis: string;
    infos: Info[];
    sliderValue: number;
}
declare class WellLogViewer extends Component<Props, State> {
    static propTypes: Record<string, unknown>;
    controller: WellLogController | null;
    collapsedTrackIds: (string | number)[];
    constructor(props: Props);
    componentDidMount(): void;
    shouldComponentUpdate(nextProps: Props, nextState: State): boolean;
    componentDidUpdate(prevProps: Props): void;
    updateReadoutPanel(): void;
    onInfo(x: number, logController: LogViewer, iFrom: number, iTo: number): void;
    onCreateController(controller: WellLogController): void;
    onContentRescale(): void;
    onContentSelection(): void;
    onTemplateChanged(): void;
    onChangePrimaryAxis(value: string): void;
    onZoomSliderChange(value: number): void;
    setSliderValue(): void;
    setControllerZoom(): void;
    setControllerSelection(): void;
    onInfoGroupClick(trackId: string | number): void;
    render(): ReactNode;
}
export default WellLogViewer;
