/**
 * @param {{
 *   viewFactoryOptions?: import("../view/viewFactory.js").ViewFactoryOptions,
 *   dataFlow?: DataFlow,
 *   genomeStore?: GenomeStore,
 *   fontManager?: BmFontManager,
 *   animator?: import("../utils/animator.js").default,
 *   baseConfig?: ReturnType<typeof resolveBaseConfig>,
 *   getNamedDataFromProvider?: (name: string) => any[] | undefined,
 *   getCurrentHover?: () => any,
 *   updateTooltip?: <T>(datum: T, converter?: (datum: T) => Promise<any>) => void,
 *   requestLayoutReflow?: () => void,
 *   suspendHoverTracking?: () => void,
 *   resumeHoverTracking?: (event?: MouseEvent) => void,
 *   addKeyboardListener?: (
 *     type: "keydown" | "keyup",
 *     listener: (event: KeyboardEvent) => void
 *   ) => void,
 *   addBroadcastListener?: (
 *     type: import("../genomeSpy.js").BroadcastEventType,
 *     listener: (message: import("../view/view.js").BroadcastMessage) => void
 *   ) => void,
 *   removeBroadcastListener?: (
 *     type: import("../genomeSpy.js").BroadcastEventType,
 *     listener: (message: import("../view/view.js").BroadcastMessage) => void
 *   ) => void,
 *   highlightView?: (view: import("../view/view.js").default | null) => void,
 *   isViewConfiguredVisible?: (view: import("../view/view.js").default) => boolean,
 *   isViewSpec?: (spec: any) => boolean,
 *   glHelper?: import("../gl/webGLHelper.js").default,
 * }} [options]
 * @returns {ViewContext}
 */
export function createHeadlessViewContext(options?: {
    viewFactoryOptions?: import("../view/viewFactory.js").ViewFactoryOptions;
    dataFlow?: DataFlow;
    genomeStore?: GenomeStore;
    fontManager?: BmFontManager;
    animator?: import("../utils/animator.js").default;
    baseConfig?: ReturnType<typeof resolveBaseConfig>;
    getNamedDataFromProvider?: (name: string) => any[] | undefined;
    getCurrentHover?: () => any;
    updateTooltip?: <T>(datum: T, converter?: (datum: T) => Promise<any>) => void;
    requestLayoutReflow?: () => void;
    suspendHoverTracking?: () => void;
    resumeHoverTracking?: (event?: MouseEvent) => void;
    addKeyboardListener?: (type: "keydown" | "keyup", listener: (event: KeyboardEvent) => void) => void;
    addBroadcastListener?: (type: import("../genomeSpy.js").BroadcastEventType, listener: (message: import("../view/view.js").BroadcastMessage) => void) => void;
    removeBroadcastListener?: (type: import("../genomeSpy.js").BroadcastEventType, listener: (message: import("../view/view.js").BroadcastMessage) => void) => void;
    highlightView?: (view: import("../view/view.js").default | null) => void;
    isViewConfiguredVisible?: (view: import("../view/view.js").default) => boolean;
    isViewSpec?: (spec: any) => boolean;
    glHelper?: import("../gl/webGLHelper.js").default;
}): ViewContext;
/**
 * Shared view-hierarchy preparation that does not require a browser shell.
 *
 * @param {import("../view/view.js").default} viewRoot
 */
export function prepareViewHierarchy(viewRoot: import("../view/view.js").default): void;
/**
 * Creates a real view hierarchy and initializes its dataflow without touching
 * browser-only subsystems such as WebGL or DOM event wiring.
 *
 * @param {RootSpec} spec
 * @param {{
 *   context?: ViewContext,
 *   contextOptions?: Parameters<typeof createHeadlessViewContext>[0],
 *   onDataFlowBuilt?: (dataFlow: DataFlow) => void,
 * }} [options]
 * @returns {Promise<{ view: import("../view/view.js").default, context: ViewContext }>}
 */
export function createHeadlessEngine(spec: RootSpec, options?: {
    context?: ViewContext;
    contextOptions?: Parameters<typeof createHeadlessViewContext>[0];
    onDataFlowBuilt?: (dataFlow: DataFlow) => void;
}): Promise<{
    view: import("../view/view.js").default;
    context: ViewContext;
}>;
/**
 * Creates a resolved view hierarchy without initializing dataflow or loading
 * assemblies ahead of time.
 *
 * @param {RootSpec} spec
 * @param {{
 *   context?: ViewContext,
 *   contextOptions?: Parameters<typeof createHeadlessViewContext>[0],
 *   viewFactoryOptions?: import("../view/viewFactory.js").ViewFactoryOptions,
 * }} [options]
 * @returns {Promise<{ view: import("../view/view.js").default, context: ViewContext }>}
 */
export function createHeadlessViewHierarchy(spec: RootSpec, options?: {
    context?: ViewContext;
    contextOptions?: Parameters<typeof createHeadlessViewContext>[0];
    viewFactoryOptions?: import("../view/viewFactory.js").ViewFactoryOptions;
}): Promise<{
    view: import("../view/view.js").default;
    context: ViewContext;
}>;
/**
 * Shared helpers for creating a GenomeSpy runtime without DOM or WebGL.
 */
export type RootSpec = import("../spec/root.js").RootSpec;
/**
 * Shared helpers for creating a GenomeSpy runtime without DOM or WebGL.
 */
export type ViewContext = import("../types/viewContext.js").default;
import DataFlow from "../data/dataFlow.js";
import GenomeStore from "../genome/genomeStore.js";
import BmFontManager from "../fonts/bmFontManager.js";
import { resolveBaseConfig } from "../config/resolveConfig.js";
//# sourceMappingURL=headlessBootstrap.d.ts.map