import { Result } from '@ephox/katamari'; import { type EventArgs, type SugarElement } from '@ephox/sugar'; import type { AlloyComponent } from '../component/ComponentApi'; export interface GuiSystem { readonly root: AlloyComponent; readonly element: SugarElement; readonly destroy: () => void; readonly add: (component: AlloyComponent) => void; readonly remove: (component: AlloyComponent) => void; readonly getByUid: (uid: string) => Result; readonly getByDom: (element: SugarElement) => Result; readonly addToWorld: (comp: AlloyComponent) => void; readonly removeFromWorld: (comp: AlloyComponent) => void; readonly broadcast: (message: T) => void; readonly broadcastOn: (channels: string[], message: T) => void; readonly broadcastEvent: (eventName: string, event: EventArgs) => void; } declare const create: () => GuiSystem; declare const takeover: (root: AlloyComponent) => GuiSystem; export { create, takeover }; //# sourceMappingURL=Gui.d.ts.map