import type { FilterBy } from '../shared/types';
import type PluginManager from '@jbrowse/core/PluginManager';
import type { AnyConfigurationModel, AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
import type { FeatureDensityStats } from '@jbrowse/core/data_adapters/BaseAdapter';
import type { MenuItem } from '@jbrowse/core/ui';
import type { Instance } from 'mobx-state-tree';
declare function stateModelFactory(pluginManager: PluginManager, configSchema: AnyConfigurationSchemaType): import("mobx-state-tree").IModelType<{
    id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
    type: import("mobx-state-tree").ISimpleType<string>;
    rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
} & {
    PileupDisplay: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IAnyType>;
    SNPCoverageDisplay: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IAnyModelType>;
    snpCovHeight: import("mobx-state-tree").IType<number | undefined, number, number>;
    type: import("mobx-state-tree").ISimpleType<"LinearAlignmentsDisplay">;
    configuration: AnyConfigurationSchemaType;
    heightPreConfig: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
    userFeatureScreenDensity: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
    lowerPanelType: import("mobx-state-tree").IType<string | undefined, string, string>;
}, {
    rendererTypeName: string;
    error: unknown;
    message: string | undefined;
} & {
    readonly RenderingComponent: React.FC<{
        model: {
            id: string;
            type: string;
            rpcDriverName: string | undefined;
        } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
            rendererTypeName: string;
            error: unknown;
            message: string | undefined;
        } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
            id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
            type: import("mobx-state-tree").ISimpleType<string>;
            rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
        }, {
            rendererTypeName: string;
            error: unknown;
            message: string | undefined;
        }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
        onHorizontalScroll?: () => void;
        blockState?: Record<string, any>;
    }>;
    readonly DisplayBlurb: React.FC<{
        model: {
            id: string;
            type: string;
            rpcDriverName: string | undefined;
        } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
            rendererTypeName: string;
            error: unknown;
            message: string | undefined;
        } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
            id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
            type: import("mobx-state-tree").ISimpleType<string>;
            rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
        }, {
            rendererTypeName: string;
            error: unknown;
            message: string | undefined;
        }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
    }> | null;
    readonly adapterConfig: any;
    readonly parentTrack: any;
    renderProps(): any;
    readonly rendererType: import("@jbrowse/core/pluggableElementTypes").RendererType;
    readonly DisplayMessageComponent: undefined | React.FC<any>;
    trackMenuItems(): MenuItem[];
    readonly viewMenuActions: MenuItem[];
    regionCannotBeRendered(): null;
} & {
    setMessage(arg?: string): void;
    setError(error?: unknown): void;
    setRpcDriverName(rpcDriverName: string): void;
    reload(): void;
} & {
    scrollTop: number;
} & {
    setScrollTop(scrollTop: number): void;
    setSNPCoverageHeight(n: number): void;
} & {
    readonly height: any;
    readonly featureIdUnderMouse: any;
} & {
    readonly pileupConf: any;
    getFeatureByID(blockKey: string, id: string): any;
    searchFeatureByID(id: string): any;
    readonly features: any;
    readonly DisplayBlurb: any;
    readonly sortedBy: any;
    readonly coverageConf: any;
} & {
    setSNPCoverageDisplay(configuration: AnyConfigurationModel): void;
    setFeatureDensityStatsLimit(stats?: FeatureDensityStats): void;
    setPileupDisplay(configuration: AnyConfigurationModel): void;
    setHeight(n: number): number;
    setFilterBy(filter: FilterBy): void;
    setLowerPanelType(type: string): void;
    resizeHeight(distance: number): number;
} & {
    afterAttach(): void;
    renderSvg(opts: {
        rasterizeLayers?: boolean;
    }): Promise<import("react/jsx-runtime").JSX.Element>;
} & {
    trackMenuItems(): MenuItem[];
}, import("mobx-state-tree").ModelCreationType<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<string>;
    rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
} & {
    PileupDisplay: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IAnyType>;
    SNPCoverageDisplay: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IAnyModelType>;
    snpCovHeight: import("mobx-state-tree").IType<number | undefined, number, number>;
    type: import("mobx-state-tree").ISimpleType<"LinearAlignmentsDisplay">;
    configuration: AnyConfigurationSchemaType;
    heightPreConfig: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
    userFeatureScreenDensity: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
    lowerPanelType: import("mobx-state-tree").IType<string | undefined, string, string>;
}>>, import("mobx-state-tree")._NotCustomized>;
export default stateModelFactory;
export type LinearAlignmentsDisplayStateModel = ReturnType<typeof stateModelFactory>;
export type LinearAlignmentsDisplayModel = Instance<LinearAlignmentsDisplayStateModel>;
