import type PluginManager from '../PluginManager.ts';
import type { MaybeSerializedFeat } from './types.tsx';
import type { SimpleFeatureSerialized } from '../util/index.ts';
import type { Instance } from '@jbrowse/mobx-state-tree';
export declare function stateModelFactory(pluginManager: PluginManager): import("@jbrowse/mobx-state-tree").IModelType<{
    id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
    type: import("@jbrowse/mobx-state-tree").ISimpleType<"BaseFeatureWidget">;
    featureData: import("@jbrowse/mobx-state-tree").IType<MaybeSerializedFeat, MaybeSerializedFeat, MaybeSerializedFeat>;
    formattedFields: import("@jbrowse/mobx-state-tree").IType<any, any, any>;
    unformattedFeatureData: import("@jbrowse/mobx-state-tree").IType<MaybeSerializedFeat, MaybeSerializedFeat, MaybeSerializedFeat>;
    view: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/mobx-state-tree").IAnyType>>;
    track: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/mobx-state-tree").IAnyType>>;
    trackId: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
    trackType: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
    maxDepth: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<number>>;
    sequenceFeatureDetails: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IModelType<{}, {
        showCoordinatesSetting: string;
        intronBp: number;
        upDownBp: number;
        upperCaseCDS: boolean;
        charactersPerRow: number;
        feature: SimpleFeatureSerialized | undefined;
        mode: "" | "genomic" | "gene" | "gene_collapsed_intron" | "gene_updownstream" | "cdna" | "cds" | "genomic_sequence_updownstream" | "protein";
    } & {
        setFeature(f: SimpleFeatureSerialized): void;
        setUpDownBp(f: number): void;
        setIntronBp(f: number): void;
        setUpperCaseCDS(f: boolean): void;
        setShowCoordinates(f: "none" | "relative" | "genomic"): void;
        setMode(mode: "" | "genomic" | "gene" | "gene_collapsed_intron" | "gene_updownstream" | "cdna" | "cds" | "genomic_sequence_updownstream" | "protein"): void;
    } & {
        readonly showCoordinates: boolean;
        readonly showGenomicCoordsOption: boolean;
        readonly hasCDS: boolean | undefined;
        readonly hasExon: boolean | undefined;
        readonly hasExonOrCDS: boolean | undefined;
    } & {
        afterCreate(): void;
    }, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>, [undefined]>;
    descriptions: import("@jbrowse/mobx-state-tree").IType<Record<string, unknown> | undefined, Record<string, unknown> | undefined, Record<string, unknown> | undefined>;
}, {
    error: unknown;
} & {
    setFeatureData(featureData: SimpleFeatureSerialized): void;
    clearFeatureData(): void;
    setFormattedData(feat: SimpleFeatureSerialized): void;
    setExtra(type?: string, trackId?: string, maxDepth?: number): void;
    setError(e: unknown): void;
} & {
    afterCreate(): void;
}, import("@jbrowse/mobx-state-tree").ModelCreationType<import("@jbrowse/mobx-state-tree/dist/internal").ExtractCFromProps<{
    id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
    type: import("@jbrowse/mobx-state-tree").ISimpleType<"BaseFeatureWidget">;
    featureData: import("@jbrowse/mobx-state-tree").IType<MaybeSerializedFeat, MaybeSerializedFeat, MaybeSerializedFeat>;
    formattedFields: import("@jbrowse/mobx-state-tree").IType<any, any, any>;
    unformattedFeatureData: import("@jbrowse/mobx-state-tree").IType<MaybeSerializedFeat, MaybeSerializedFeat, MaybeSerializedFeat>;
    view: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/mobx-state-tree").IAnyType>>;
    track: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IReferenceType<import("@jbrowse/mobx-state-tree").IAnyType>>;
    trackId: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
    trackType: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
    maxDepth: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<number>>;
    sequenceFeatureDetails: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IModelType<{}, {
        showCoordinatesSetting: string;
        intronBp: number;
        upDownBp: number;
        upperCaseCDS: boolean;
        charactersPerRow: number;
        feature: SimpleFeatureSerialized | undefined;
        mode: "" | "genomic" | "gene" | "gene_collapsed_intron" | "gene_updownstream" | "cdna" | "cds" | "genomic_sequence_updownstream" | "protein";
    } & {
        setFeature(f: SimpleFeatureSerialized): void;
        setUpDownBp(f: number): void;
        setIntronBp(f: number): void;
        setUpperCaseCDS(f: boolean): void;
        setShowCoordinates(f: "none" | "relative" | "genomic"): void;
        setMode(mode: "" | "genomic" | "gene" | "gene_collapsed_intron" | "gene_updownstream" | "cdna" | "cds" | "genomic_sequence_updownstream" | "protein"): void;
    } & {
        readonly showCoordinates: boolean;
        readonly showGenomicCoordsOption: boolean;
        readonly hasCDS: boolean | undefined;
        readonly hasExon: boolean | undefined;
        readonly hasExonOrCDS: boolean | undefined;
    } & {
        afterCreate(): void;
    }, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>, [undefined]>;
    descriptions: import("@jbrowse/mobx-state-tree").IType<Record<string, unknown> | undefined, Record<string, unknown> | undefined, Record<string, unknown> | undefined>;
}>>, {
    track: import("@jbrowse/mobx-state-tree").ReferenceIdentifier | undefined;
    view: import("@jbrowse/mobx-state-tree").ReferenceIdentifier | undefined;
    type: "BaseFeatureWidget";
    id: string;
    trackId: string | undefined;
    maxDepth: number | undefined;
    sequenceFeatureDetails: import("@jbrowse/mobx-state-tree").ModelSnapshotType<{}>;
    formattedFields: any;
    trackType: string | undefined;
    descriptions: Record<string, unknown> | undefined;
    finalizedFeatureData: any;
}>;
export type BaseFeatureWidgetStateModel = ReturnType<typeof stateModelFactory>;
export type BaseFeatureWidgetModel = Instance<BaseFeatureWidgetStateModel>;
