import type { CwaResourceError } from '../../../errors/cwa-resource-error.js'; import type { CwaFetcherStateInterface, FetchAbortReason, NestedJsonStructure } from './state.js'; import type { CwaFetcherGettersInterface } from './getters.js'; import type { CwaFetchRequestHeaders } from '#cwa/api/fetcher/fetcher'; export interface StartFetchEvent { token?: string; path: string; manifestPath?: string; isPrimary?: boolean; isCurrentSuccessResourcesResolved: boolean; } export interface FinishFetchEvent { token: string; } export interface AddFetchResourceEvent { token: string; resource: string; path: string; headers?: CwaFetchRequestHeaders; } export interface StartFetchResponse { continue: boolean; resources: string[]; token: string; } export declare enum FinishFetchManifestType { SUCCESS = "SUCCESS", ERROR = "ERROR" } export interface ManifestSuccessFetchEvent { type: FinishFetchManifestType.SUCCESS; token: string; } export interface SetManifestIrisByDepthEvent { token: string; resourceIris: NestedJsonStructure[]; } export interface ManifestErrorFetchEvent { type: FinishFetchManifestType.ERROR; token: string; error: CwaResourceError; } interface AbortFetchEvent { token: string; reason?: FetchAbortReason; } export interface RegisterIriDepthEvent { iri: string; depth: number; } export interface CwaFetcherActionsInterface { abortFetch(event: AbortFetchEvent): void; setDisplayedToken(token: string): void; setManifestIrisByDepth(event: SetManifestIrisByDepthEvent): void; registerIriDepth(event: RegisterIriDepthEvent): void; resetIriDepths(): void; finishManifestFetch(event: ManifestSuccessFetchEvent | ManifestErrorFetchEvent): void; startFetch(event: StartFetchEvent): StartFetchResponse; finishFetch(event: FinishFetchEvent): void; addFetchResource(event: AddFetchResourceEvent): boolean; clearFetches(): void; uncacheRoute(path: string): string[]; } export default function (fetcherState: CwaFetcherStateInterface, fetcherGetters: CwaFetcherGettersInterface): CwaFetcherActionsInterface; export {};