import { ElementSet, Selector } from 'molstar/lib/extensions/mvs/components/selector';
import { CustomStructureProperty } from 'molstar/lib/mol-model-props/common/custom-structure-property';
import { ElementIndex } from 'molstar/lib/mol-model/structure';
import { Color } from 'molstar/lib/mol-util/color';
import { ParamDefinition as PD } from 'molstar/lib/mol-util/param-definition';
export declare namespace SequenceColorAnnotationsProperty {
    /** Provider name (key) for this custom property */
    const Name = "sequence-color-annotations";
    /** Parameter definition for this custom property */
    type Params = typeof Params;
    const Params: {
        colors: PD.ObjectList<PD.Normalize<{
            color: Color;
            selector: PD.NamedParams<"all" | "polymer" | "water" | "branched" | "ligand" | "ion" | "lipid" | "protein" | "nucleic" | "non-standard" | "coarse", "static"> | PD.NamedParams<import("molstar/lib/mol-script/types").Script, "script"> | PD.NamedParams<import("molstar/lib/mol-script/language/expression").Expression, "expression"> | PD.NamedParams<import("molstar/lib/mol-model/structure/structure/element/bundle").Bundle, "bundle"> | PD.NamedParams<PD.Normalize<{
                label: string;
                nullIfEmpty: boolean | undefined;
                annotationId: string;
                fieldName: string;
                fieldValues: PD.NamedParams<PD.Normalize<unknown>, "all"> | PD.NamedParams<PD.Normalize<{
                    value: any;
                }>[], "selected">;
            }>, "annotation">;
        }>>;
    };
    /** Type of parameter values for this custom property */
    type Props = PD.Values<Params>;
    /** Type of values of this custom property */
    interface Data {
        items: {
            selector: Selector;
            color: Color;
            elementSet?: ElementSet;
        }[];
        colorCache: {
            [unitId: number]: {
                [elemIdx: ElementIndex]: Color;
            };
        };
    }
    /** Provider for this custom property */
    const Provider: CustomStructureProperty.Provider<Params, Data>;
}
