import type { StopToken } from '@jbrowse/core/util/stopToken';
export default function NonBlockCanvasDisplayMixin(): import("@jbrowse/mobx-state-tree").IModelType<{}, {
    loading: boolean;
    lastDrawnOffsetPx: number | undefined;
    lastDrawnBpPerPx: number | undefined;
    ref: HTMLCanvasElement | null;
    renderingImageData: ImageBitmap | undefined;
    renderingStopToken: StopToken | undefined;
    statusMessage: string | undefined;
    canvasDrawn: boolean;
} & {
    readonly drawn: boolean;
    readonly fullyDrawn: boolean;
} & {
    setLastDrawnOffsetPx(n: number): void;
    setLastDrawnBpPerPx(n: number): void;
    setLoading(f: boolean): void;
    setRef(ref: HTMLCanvasElement | null): void;
    setRenderingImageData(imageData: ImageBitmap | undefined): void;
    setRenderingStopToken(token?: StopToken): void;
    setStatusMessage(msg?: string): void;
    setCanvasDrawn(drawn: boolean): void;
} & {
    beforeDestroy(): void;
}, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>;
export type NonBlockCanvasDisplayMixinType = ReturnType<typeof NonBlockCanvasDisplayMixin>;
