import type { Emitter } from 'mitt'; import type { App } from 'vue'; import type { AdminStore } from '../storage/stores/admin/admin-store.js'; import type { ResourcesStore } from '../storage/stores/resources/resources-store.js'; import type { Resources } from '../resources/resources.js'; import ResourceStackManager from './resource-stack-manager.js'; export type ReorderEvent = { positionIri: string; location: 'previous' | 'next' | number; }; type Events = { redrawFocus: undefined; manageableComponentMounted: string; componentMounted: string; componentUpdated: string; selectResource: string; reorder: ReorderEvent; }; export default class Admin { private readonly stackManagerInstance; private readonly emitter; private throttledRedrawEmitFn; private readonly _adminStore; constructor(adminStoreDefinition: AdminStore, resourcesStoreDefinition: ResourcesStore, resources: Resources, vueApp: App); get eventBus(): Emitter; get resourceStackManager(): ResourceStackManager; emptyStack(): void; toggleEdit(editing?: boolean): void; setNavigationGuardDisabled(disabled: boolean): void; get navigationGuardDisabled(): boolean; get isEditing(): boolean; private get adminStore(); private redrawListen; emitRedraw(): void; private doEmitRedraw; } export {};