import type { SimpleFeatureSerialized } from '../../util/index.ts';
import type { Instance } from '@jbrowse/mobx-state-tree';
type ShowCoordinatesMode = 'none' | 'relative' | 'genomic';
type SequenceDisplayMode = '' | 'gene' | 'gene_collapsed_intron' | 'gene_updownstream' | 'cdna' | 'cds' | 'genomic' | 'genomic_sequence_updownstream' | 'protein';
export declare function SequenceFeatureDetailsF(): import("@jbrowse/mobx-state-tree").IModelType<{}, {
    showCoordinatesSetting: string;
    intronBp: number;
    upDownBp: number;
    upperCaseCDS: boolean;
    charactersPerRow: number;
    feature: SimpleFeatureSerialized | undefined;
    mode: SequenceDisplayMode;
} & {
    setFeature(f: SimpleFeatureSerialized): void;
    setUpDownBp(f: number): void;
    setIntronBp(f: number): void;
    setUpperCaseCDS(f: boolean): void;
    setShowCoordinates(f: ShowCoordinatesMode): void;
    setMode(mode: SequenceDisplayMode): 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>;
export declare function createSequenceFeatureDetailsModel(): {} & import("@jbrowse/mobx-state-tree/dist/internal").NonEmptyObject & {
    showCoordinatesSetting: string;
    intronBp: number;
    upDownBp: number;
    upperCaseCDS: boolean;
    charactersPerRow: number;
    feature: SimpleFeatureSerialized | undefined;
    mode: SequenceDisplayMode;
} & {
    setFeature(f: SimpleFeatureSerialized): void;
    setUpDownBp(f: number): void;
    setIntronBp(f: number): void;
    setUpperCaseCDS(f: boolean): void;
    setShowCoordinates(f: ShowCoordinatesMode): void;
    setMode(mode: SequenceDisplayMode): 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").IStateTreeNode<import("@jbrowse/mobx-state-tree").IModelType<{}, {
    showCoordinatesSetting: string;
    intronBp: number;
    upDownBp: number;
    upperCaseCDS: boolean;
    charactersPerRow: number;
    feature: SimpleFeatureSerialized | undefined;
    mode: SequenceDisplayMode;
} & {
    setFeature(f: SimpleFeatureSerialized): void;
    setUpDownBp(f: number): void;
    setIntronBp(f: number): void;
    setUpperCaseCDS(f: boolean): void;
    setShowCoordinates(f: ShowCoordinatesMode): void;
    setMode(mode: SequenceDisplayMode): 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>>;
export declare function destroySequenceFeatureDetailsModel(model: SequenceFeatureDetailsModel): void;
export type SequenceFeatureDetailsStateModel = ReturnType<typeof SequenceFeatureDetailsF>;
export type SequenceFeatureDetailsModel = Instance<SequenceFeatureDetailsStateModel>;
export {};
