import type React from 'react';
import type { Feature } from '@jbrowse/core/util';
import type { StopToken } from '@jbrowse/core/util/stopToken';
import type { AbstractDisplayModel, Region } from '@jbrowse/core/util/types';
import type { Instance } from '@jbrowse/mobx-state-tree';
export interface RenderedProps {
    reactElement: React.ReactElement;
    features: Map<string, Feature>;
    layout: any;
    maxHeightReached: boolean;
    renderProps: any;
    renderArgs: Record<string, unknown>;
}
declare const blockState: import("@jbrowse/mobx-state-tree").IModelType<{
    key: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
    region: import("@jbrowse/mobx-state-tree").IType<Region, Region, Region>;
    reloadFlag: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
    isLeftEndOfDisplayedRegion: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
    isRightEndOfDisplayedRegion: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
}, {
    stopToken: StopToken | undefined;
    filled: boolean;
    reactElement: React.ReactElement | undefined;
    features: Map<string, Feature> | undefined;
    layout: any;
    blockStatusMessage: string;
    error: unknown;
    message: string | undefined;
    maxHeightReached: boolean;
    ReactComponent: ({ model, }: {
        model: {
            error?: unknown;
            reload: () => void;
            message?: React.ReactNode;
            statusMessage?: string;
            reactElement?: React.ReactElement;
            isRenderingPending?: boolean;
            displayHeight?: number;
        };
    }) => import("react/jsx-runtime").JSX.Element;
    renderProps: any;
    renderArgs: Record<string, unknown> | undefined;
    isRenderingPending: boolean;
    cachedDisplay: AbstractDisplayModel | undefined;
} & {
    doReload(): void;
    setStatusMessage(message: string): void;
    setLoading(newStopToken: StopToken): void;
    setMessage(messageText: string): void;
    setRendered(props: RenderedProps | undefined): void;
    setError(error: unknown): void;
    reload(): void;
    setCachedDisplay(display: AbstractDisplayModel): void;
    beforeDestroy(): void;
} & {
    readonly statusMessage: any;
    readonly displayHeight: number | undefined;
} & {
    afterAttach(): void;
}, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/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;
    renderingProps: Record<string, unknown> | undefined;
    cannotBeRenderedReason: any;
    displayError: any;
    renderArgs: {
        statusCallback: (message: string) => void;
        assemblyName: string;
        regions: {
            seqAdapterRefName: string | undefined;
            assemblyName: string;
            refName: string;
            start: number;
            end: number;
            reversed?: boolean | undefined;
        }[];
        adapterConfig: any;
        rendererType: any;
        sessionId: string;
        trackInstanceId: any;
        blockKey: string;
        reloadFlag: number;
        timeout: number;
    };
} | {
    displayError: unknown;
    rendererType?: undefined;
    rpcManager?: undefined;
    renderProps?: undefined;
    renderingProps?: undefined;
    cannotBeRenderedReason?: undefined;
    renderArgs?: undefined;
};
