import { deferred } from "./helpers.js"; /** re * The recipe to cate a identifier for a component mounted into a panel. * * The below properties where chosen as they can guarantee uniqueness, while also preserving helpful information. * * @description * `viewIndex` allows us to distinguish which view instance the panel belongs to (e.g. ). */ export type IdentifierRecipe = { /** The target of the panel to be rendered */ panelTarget: `${"dock" | "grid" | "split" | "pane"}${"" | "header" | "watermark" | "actions"}`; /** The index of the specific view * (which the view components _should_ internally keep track of, * e.g. this is the first aka 0th-index dockview, or the second aka 1st-index gridview) */ viewIndex: number; /** The given id of the panel */ id: string; /** The name of the component to be mounted */ name: string; }; type Identifier = `${Recipe["viewIndex"]}${Recipe["id"]}${Recipe["name"]}`; export declare class MountMechanism { private defferedMountMap; static ID: ({ viewIndex, id, name }: Recipe) => Identifier; readonly id: ({ viewIndex, id, name }: Recipe) => Identifier; await>(identifier: IdentifierRecipe, reset?: boolean): Promise; get>(id: ReturnType): ReturnType> | undefined; drop(id: ReturnType): void; tryResolveAndDrop>(id: ReturnType, instance: Exports): void; } export {};