import type { ComputedRef, Ref } from 'vue'; import type { ResourcesStore } from '../storage/stores/resources/resources-store.js'; import type CwaFetch from '../api/fetcher/cwa-fetch.js'; import type FetchStatusManager from '../api/fetcher/fetch-status-manager.js'; import type { DeleteResourceEvent, SaveNewResourceEvent, SaveResourceEvent } from '../storage/stores/resources/actions.js'; import type { ErrorStore } from '../storage/stores/error/error-store.js'; import type { CwaErrorEvent } from '../storage/stores/error/state.js'; import type { CwaResource } from './resource-utils.js'; import type Fetcher from '#cwa/api/fetcher/fetcher'; import type { AddResourceEvent, ResourceStackItem } from '#cwa/admin/resource-stack-manager'; import type Admin from '#cwa/admin/admin'; import type { Resources } from '#cwa/resources/resources'; interface DeleteApiResourceEvent { iri?: string; endpoint: string; requestCompleteFn?: (resource?: CwaResource) => void | Promise; saveCompleteFn?: (resource?: CwaResource) => void | Promise; refreshEndpoints?: string[]; } interface DataApiResourceEvent extends DeleteApiResourceEvent { data: any; source?: string; headers?: Record; } export type ApiResourceEvent = DataApiResourceEvent | DeleteApiResourceEvent; export declare class ResourcesManager { private readonly fetcher; private readonly admin; private readonly resources; private readonly cwaFetch; private readonly fetchStatusManager; private requestsInProgress; private readonly reqCount; private readonly _addResourceEvent; private _requestCount?; private readonly _resourcesStore; private readonly _errorStore; constructor(cwaFetch: CwaFetch, resourcesStoreDefinition: ResourcesStore, fetchStatusManager: FetchStatusManager, errorStoreDefinition: ErrorStore, fetcher: Fetcher, admin: Admin, resources: Resources); mergeNewResources(): void; get requestCount(): ComputedRef; getWaitForRequestPromise(endpoint: string, property: string, source?: string): Promise; createResource(event: DataApiResourceEvent): Promise; private confirmDelete; private getEndpointForIri; deleteResource(event: ApiResourceEvent, force?: boolean): Promise; removeResource(event: DeleteResourceEvent): void; updateResource(event: DataApiResourceEvent): Promise; private doResourceRequest; addError(error: CwaErrorEvent): void; get errors(): CwaErrorEvent[]; get hasErrors(): boolean; removeError(id: number): void; storeResource(event: SaveResourceEvent | SaveNewResourceEvent): void; private requestOptions; initAddResource(targetIri: string, addAfter: null | boolean, resourceStack: ResourceStackItem[], pageDataProperty?: string): Promise; setAddResourceEventResource(resourceType: string, endpoint: string, isPublishable: boolean, instantAdd: boolean, defaultData?: { [key: string]: any; }): Promise; clearAddResourceEventResource(): void; clearAddResource(): void; get addResourceEvent(): Ref; confirmDiscardAddingResource(): Promise; addResourceAction(publish?: boolean): Promise; private getRefreshPositions; private get groupResource(); private get groupResourcePositions(); private get resourcesStore(); private get errorStore(); } export {};