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