import type { ComponentPublicInstance, Ref } from 'vue'; import type Cwa from '../cwa.js'; export type StyleOptions = { multiple?: boolean; classes: { [name: string]: string | string[]; }; }; export type ManageableResourceOps = Ref<{ styles?: StyleOptions; disabled?: boolean; }>; export default class ManageableResource { private readonly component; private readonly $cwa; private readonly ops; private currentIri; private domElements; private unwatchCurrentIri; private tabResolver; private isIriInit; private pendingChildMountedReInit; private throttledRefreshFn; private registeredIri; constructor(component: ComponentPublicInstance, $cwa: Cwa, ops: ManageableResourceOps); init(iri: Ref): void; private _initNewIri; initNewIri(): void; get elements(): Ref; refreshElements(): void; private doRefreshElements; clear(soft?: boolean): void; private componentMountedListener; mockChildMounted(): void; private selectResourceListener; private get childIris(); private getAllEls; private unregister; private register; private addClickEventListeners; private triggerClick; private removeClickEventListeners; private clickListener; private getCurrentStackItem; private get currentResource(); private get resourceType(); private get resourceConfig(); private get displayName(); }