import type { CwaFetchRequestHeaders } from '#cwa/api/fetcher/fetcher'; import type { CwaResourceError } from '#cwa/errors/cwa-resource-error'; import type { CwaResource } from '#cwa/resources/resource-utils'; import type { CwaResourcesGettersInterface } from './getters.js'; import type { CwaResourceApiStateSuccess, CwaResourcesStateInterface } from './state.js'; import type { AddResourceEvent } from '#cwa/admin/resource-stack-manager'; import type { NuxtApp } from 'nuxt/app'; export interface SaveResourceEvent { resource: CwaResource; isNew?: undefined | false; } export interface SaveNewResourceEvent { resource: CwaResource; isNew: true; path: string | undefined; } export interface DeleteResourceEvent { resource: string; noCascade?: boolean; } export interface SetResourceInProgressStatusEvent { iri: string; path: string; isComplete: false; headers?: CwaFetchRequestHeaders; } export interface SetResourceCompletedStatusEvent { iri: string; path?: string; isComplete: true; headers: CwaFetchRequestHeaders; responseIri?: string; } export interface SetResourceResetStatusEvent { iri: string; path?: undefined; isComplete: null; } declare type SetResourceStatusEvent = SetResourceInProgressStatusEvent | SetResourceCompletedStatusEvent | SetResourceResetStatusEvent; export interface RestoreResourceApiStateEvent { iri: string; apiState: CwaResourceApiStateSuccess; } export interface SetResourceFetchErrorEvent { iri: string; error?: CwaResourceError; isCurrent?: boolean; showErrorPage?: boolean; nuxtApp: NuxtApp; } export interface CwaResourcesActionsInterface { resetNewResource(): void; initNewResource(addResourceEvent: AddResourceEvent, resourceType: string, endpoint: string, isPublishable: boolean, instantAdd: boolean, defaultData?: { [key: string]: any; }): void; resetCurrentResources(currentIds?: string[]): void; clearResources(): void; evictResources(iris: string[]): void; setResourceFetchStatus(event: SetResourceStatusEvent): void; setResourceFetchError(event: SetResourceFetchErrorEvent): void; restoreResourceApiState(event: RestoreResourceApiStateEvent): void; saveResource(event: SaveResourceEvent | SaveNewResourceEvent): void; deleteResource(event: DeleteResourceEvent): void; mergeNewResource(iri: string): void; mergeNewResources(): void; } export default function (resourcesState: CwaResourcesStateInterface, resourcesGetters: CwaResourcesGettersInterface): CwaResourcesActionsInterface; export {};