export const VIEW_ROOT_NAME: "viewRoot"; /** * @typedef {object} ViewFactoryOptions * @property {boolean} [allowImport] allows imports from urls * @property {boolean} [wrapRoot] * * @typedef {object} CreateViewOptions * @property {"own" | "inherit"} [layoutSizeParams] */ /** * */ export class ViewFactory { /** * @param {ViewFactoryOptions} [options] */ constructor(options?: ViewFactoryOptions); /** @type {Required} */ options: Required; /** * @param {SpecGuard} specGuard * @param {Factory} factory */ addViewType(specGuard: (spec: import("../spec/view.js").ViewSpec) => boolean, factory: (spec: import("../spec/view.js").ViewSpec, context: import("../types/viewContext.js").default, layoutParent?: import("./containerView.js").default, dataParent?: import("./view.js").default, defaultName?: string, options?: CreateViewOptions) => View): void; /** * @param {ViewSpec} spec * @param {ViewContext} context * @param {import("./containerView.js").default} [layoutParent] * @param {import("./view.js").default} [dataParent] * @param {string} [defaultName] * @param {CreateViewOptions} [options] */ createView(spec: import("../spec/view.js").ViewSpec, context: import("../types/viewContext.js").default, layoutParent?: import("./containerView.js").default, dataParent?: import("./view.js").default, defaultName?: string, options?: CreateViewOptions): View; /** * * @param {ViewSpec} spec * @returns {spec is ViewSpec} */ isViewSpec(spec: import("../spec/view.js").ViewSpec): spec is import("../spec/view.js").ViewSpec; /** * Creates a view from a spec, or imports it from an external source. * Also initializes child views. * * @param {ViewSpec | import("../spec/view.js").ImportSpec} spec * @param {ViewContext} context * @param {import("./containerView.js").default} [layoutParent] * @param {import("./view.js").default} [dataParent] * @param {string} [defaultName] * @param {(spec: ViewSpec) => void} [validator] * @param {CreateViewOptions} [options] */ createOrImportView(spec: import("../spec/view.js").ViewSpec | import("../spec/view.js").ImportSpec, context: import("../types/viewContext.js").default, layoutParent?: import("./containerView.js").default, dataParent?: import("./view.js").default, defaultName?: string, validator?: (spec: import("../spec/view.js").ViewSpec) => void, options?: CreateViewOptions): Promise>; #private; } export type ViewFactoryOptions = { /** * allows imports from urls */ allowImport?: boolean; wrapRoot?: boolean; }; export type CreateViewOptions = { layoutSizeParams?: "own" | "inherit"; }; import View from "./view.js"; export { isConcatSpec, isFacetSpec, isHConcatSpec, isImportSpec, isLayerSpec, isUnitSpec, isVConcatSpec } from "./viewSpecGuards.js"; //# sourceMappingURL=viewFactory.d.ts.map