import type React from 'react';
import type { Feature } from '@jbrowse/core/util';
import type { AbstractDisplayModel, Region } from '@jbrowse/core/util/types';
import type { Instance } from 'mobx-state-tree';
export interface RenderedProps {
    reactElement: React.ReactElement;
    features: Map<string, Feature>;
    layout: any;
    maxHeightReached: boolean;
    renderProps: any;
}
declare const blockState: import("mobx-state-tree").IModelType<{
    key: import("mobx-state-tree").ISimpleType<string>;
    region: import("mobx-state-tree").IType<Region, Region, Region>;
    reloadFlag: import("mobx-state-tree").IType<number | undefined, number, number>;
    isLeftEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
    isRightEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
}, {
    stopToken: string | undefined;
    filled: boolean;
    reactElement: React.ReactElement | undefined;
    features: Map<string, Feature> | undefined;
    layout: any;
    status: string;
    error: unknown;
    message: string | undefined;
    maxHeightReached: boolean;
    ReactComponent: ({ model, }: {
        model: {
            error?: unknown;
            reload: () => void;
            message: React.ReactNode;
            filled?: boolean;
            status?: string;
            reactElement?: React.ReactElement;
        };
    }) => import("react/jsx-runtime").JSX.Element | undefined;
    renderProps: any;
} & {
    doReload(): void;
    afterAttach(): void;
    setStatus(message: string): void;
    setLoading(newStopToken: string): void;
    setMessage(messageText: string): void;
    setRendered(props: RenderedProps | undefined): void;
    setError(error: unknown): void;
    reload(): void;
    beforeDestroy(): void;
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
export default blockState;
export type BlockStateModel = typeof blockState;
export type BlockModel = Instance<BlockStateModel>;
export declare function renderBlockData(self: BlockModel, optDisplay?: AbstractDisplayModel): {
    rendererType: any;
    rpcManager: import("@jbrowse/core/rpc/RpcManager").default;
    renderProps: any;
    cannotBeRenderedReason: any;
    displayError: any;
    renderArgs: {
        statusCallback: (message: string) => void;
        assemblyName: string;
        regions: (Region & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IType<Region, Region, Region>>)[];
        adapterConfig: any;
        rendererType: any;
        sessionId: string;
        layoutId: string;
        blockKey: string;
        reloadFlag: number;
        timeout: number;
    };
} | {
    displayError: unknown;
    rendererType?: undefined;
    rpcManager?: undefined;
    renderProps?: undefined;
    cannotBeRenderedReason?: undefined;
    renderArgs?: undefined;
};
