import { StructureQualityReportColorThemeParams } from 'molstar/lib/extensions/pdbe/structure-quality-report/color';
import { Structure } from 'molstar/lib/mol-model/structure';
import { PurePluginUIComponent } from 'molstar/lib/mol-plugin-ui/base';
import { StateObject } from 'molstar/lib/mol-state';
import { ParamDefinition as PD } from 'molstar/lib/mol-util/param-definition';
import { DomainAnnotationsColorThemeParams, DomainAnnotationsColorThemeProps } from '../domain-annotations/color';
type AnnotationType = 'validation' | 'domains' | 'symmetry';
type StructureQualityReportColorThemeParams = typeof StructureQualityReportColorThemeParams;
type StructureQualityReportColorThemeProps = PD.Values<StructureQualityReportColorThemeParams>;
interface AnnotationsComponentControlsState {
    isCollapsed: boolean;
    validationApplied: boolean;
    validationParams?: {
        params: StructureQualityReportColorThemeParams;
        values: StructureQualityReportColorThemeProps;
    };
    domainsApplied: boolean;
    domainsParams?: {
        params: DomainAnnotationsColorThemeParams;
        values: DomainAnnotationsColorThemeProps;
    };
    showSymmetryAnnotation: boolean;
    description?: string;
}
export declare class AnnotationsComponentControls extends PurePluginUIComponent<{}, AnnotationsComponentControlsState> {
    state: AnnotationsComponentControlsState;
    componentDidMount(): void;
    initOptionParams: () => void;
    getStructure: () => StateObject<Structure, StateObject.Type<any>> | undefined;
    toggleCollapsed: () => void;
    applyAnnotation: (type: "validation" | "domains", visibleState: boolean, params?: StructureQualityReportColorThemeProps | DomainAnnotationsColorThemeProps) => void;
    toggleAnnotation: (type: AnnotationType) => void;
    updateValidationParams: (values: StructureQualityReportColorThemeProps) => void;
    updateDomainParams: (values?: DomainAnnotationsColorThemeProps) => void;
    render(): import("react/jsx-runtime").JSX.Element;
}
export {};
