import * as React from "react";
import { StructureViewerInterface } from "./StructureViewerInterface";
import { StructureViewerBehaviourObserverInterface } from "./StructureViewerBehaviourInterface";
import { RcsbFvStateInterface } from "../RcsbFvState/RcsbFvStateInterface";
import { ReactNode } from "react";
export interface RcsbFvStructureConfigInterface<R, S> {
    loadConfig?: R | R[];
    structureViewerConfig: S;
}
interface RcsbFvStructureAdditionalInterface<R, L, S> {
    componentId: string;
    structureViewer: StructureViewerInterface<R, L, S>;
    stateManager: RcsbFvStateInterface;
    structureViewerBehaviourObserver: StructureViewerBehaviourObserverInterface<R, L>;
}
export declare class RcsbFvStructure<R, L, S> extends React.Component<RcsbFvStructureConfigInterface<R, S> & RcsbFvStructureAdditionalInterface<R, L, S>, RcsbFvStructureConfigInterface<R, S>> {
    render(): ReactNode;
    componentDidMount(): Promise<void>;
    componentWillUnmount(): void;
    private updateDimensions;
    private static setSize;
    static componentId(id: string): string;
}
export {};
