import { RcsbFvAdditionalConfig } from "@rcsb/rcsb-saguaro-app/lib/RcsbFvWeb/RcsbFvModule/RcsbFvModuleInterface";
import { AbstractView, AbstractViewInterface } from "../AbstractView";
import { OperatorInfo } from "../../../RcsbFvStructure/StructureViewerInterface";
import { PfvManagerFactoryInterface } from "./PfvManagerFactoryInterface";
import { CallbackManagerFactoryInterface } from "./CallbackManagerFactoryInterface";
import { RcsbViewBehaviourInterface } from "./RcsbViewBehaviourInterface";
import { ReactNode } from "react";
export interface RcsbViewInterface<T, U> {
    rcsbId: string;
    additionalConfig?: RcsbFvAdditionalConfig & {
        operatorChangeCallback?: (operatorInfo: OperatorInfo) => void;
    };
    useOperatorsFlag?: boolean;
    pfvParams: T;
    pfvManagerFactory: PfvManagerFactoryInterface<T, U>;
    callbackManagerFactory: CallbackManagerFactoryInterface<U>;
    additionalContent?(props: RcsbViewInterface<T, U> & AbstractViewInterface): ReactNode;
    buildPfvOnMount?: boolean;
    rcsbViewBehaviour?: RcsbViewBehaviourInterface;
}
export declare class RcsbView<T, U> extends AbstractView<RcsbViewInterface<T, U>, {}> {
    private boardConfigContainer;
    private rcsbFvContainer;
    private readonly callbackManager;
    private readonly pfvFactory;
    constructor(props: RcsbViewInterface<T, U> & AbstractViewInterface);
    additionalContent(): ReactNode;
    componentDidMount(): Promise<void>;
    componentWillUnmount(): void;
    structureSelectionCallback(): Promise<void>;
    structureHoverCallback(): Promise<void>;
    representationChangeCallback(): void;
    updateDimensions(): Promise<void>;
    modelChangeCallback(defaultAsymId?: string, defaultOperatorName?: string): Promise<void>;
    private pluginSelectCallback;
    private pfvChangeCallback;
    private highlightHoverCallback;
    private selectionChangeCallback;
    private elementClickCallback;
    private getwidth;
}
