/** * Events that are broadcasted to all views. * @typedef {"dataFlowBuilt" | "layout" | "layoutComputed" | "subtreeDataReady"} BroadcastEventType */ export default class GenomeSpy { /** * @typedef {import("./view/view.js").default} View * @typedef {import("./spec/view.js").ViewSpec} ViewSpec * @typedef {import("./spec/root.js").RootSpec} RootSpec * @typedef {import("./spec/root.js").RootConfig} RootConfig */ /** * * @param {HTMLElement} container * @param {RootSpec} spec * @param {import("./types/embedApi.js").EmbedOptions} [options] */ constructor(container: HTMLElement, spec: import("./spec/root.js").RootSpec, options?: import("./types/embedApi.js").EmbedOptions); container: HTMLElement; options: import("./types/embedApi.js").EmbedOptions; /** Root level configuration object */ spec: import("./spec/root.js").RootSpec; viewFactory: ViewFactory; /** @type {(function(string):object[])[]} */ namedDataProviders: ((arg0: string) => object[])[]; animator: Animator; /** @type {GenomeStore} */ genomeStore: GenomeStore; /** * View visibility is checked using a predicate that can be overridden * for more dynamic visibility management. * * @type {(view: View) => boolean} */ viewVisibilityPredicate: (view: import("./view/view.js").default) => boolean; /** @type {Record}> */ tooltipHandlers: Record; /** @type {View} */ viewRoot: import("./view/view.js").default; dpr: number; /** * * @param {(name: string) => any[]} provider */ registerNamedDataProvider(provider: (name: string) => any[]): void; /** * @param {string} name */ getNamedDataFromProvider(name: string): object[]; /** * * @param {string} name * @param {any[]} data */ updateNamedData(name: string, data: any[]): void; /** * @param {string} type * @param {(event: any) => void} listener */ addEventListener(type: string, listener: (event: any) => void): void; /** * @param {string} type * @param {(event: any) => void} listener */ removeEventListener(type: string, listener: (event: any) => void): void; /** * Broadcast a message to all views * @param {BroadcastEventType} type * @param {any} [payload] */ broadcast(type: BroadcastEventType, payload?: any): void; tooltip: import("./utils/ui/tooltip.js").default; /** * Unregisters all listeners, removes all created dom elements, removes all css classes from the container */ destroy(): void; /** * TODO: Come up with a sensible name. And maybe this should be called at the end of the constructor. * @returns {Promise} true if the launch was successful */ launch(): Promise; initializeVisibleViewData(): Promise; /** * Waits until lazy sources under the root view have loaded data for the * current visible positional domain. * * @param {AbortSignal} [signal] */ awaitVisibleLazyData(signal?: AbortSignal): Promise; /** * This method should be called in a mouseMove handler. If not called, the * tooltip will be hidden. * * @param {T} datum * @param {function(T):Promise} [converter] * @template T */ updateTooltip(datum: T, converter?: (arg0: T) => Promise): void; /** * Returns a PNG data URL of the current canvas. * * @param {number} [logicalWidth] defaults to canvas width * @param {number} [logicalHeight] defaults to canvas height * @param {number} [devicePixelRatio] defaults to window.devicePixelRatio * @param {string} [clearColor] null for transparent * @returns A PNG data Url */ exportCanvas(logicalWidth?: number, logicalHeight?: number, devicePixelRatio?: number, clearColor?: string): string; getLogicalCanvasSize(): { width: number; height: number; }; getRenderedBounds(): { width: number | undefined; height: number | undefined; }; computeLayout(): void; renderAll(): void; renderPickingFramebuffer(): void; getSearchableViews(): UnitView[]; getNamedScaleResolutions(): Map; #private; } /** * Events that are broadcasted to all views. */ export type BroadcastEventType = "dataFlowBuilt" | "layout" | "layoutComputed" | "subtreeDataReady"; import { ViewFactory } from "./view/viewFactory.js"; import Animator from "./utils/animator.js"; import GenomeStore from "./genome/genomeStore.js"; import UnitView from "./view/unitView.js"; //# sourceMappingURL=genomeSpyBase.d.ts.map