import type CwaFetch from '#cwa/api/fetcher/cwa-fetch'; export interface OrphanedResourceReport { generatedAt: string; componentGroups: string[]; componentPositions: string[]; components: string[]; } export type OrphanedResourceKind = 'componentGroups' | 'componentPositions' | 'components'; export type OrphanedResourceDeletionRequest = { iris: string[]; all?: never; } | { all: true; iris?: never; }; export interface OrphanedResourceRejection { iri: string; reason: 'not_orphaned' | 'not_found'; } export interface OrphanedResourceDeletionResult { deleted: Record; rejected: OrphanedResourceRejection[]; } export interface OrphanedFile { adapter: string; path: string; } export interface MissingFile extends OrphanedFile { resource: string; } export interface OrphanedFileReport { generatedAt: string; orphanedFiles: OrphanedFile[]; unknownFiles?: OrphanedFile[]; missingFiles: MissingFile[]; } export type OrphanedFileDeletionRequest = { paths: string[]; all?: never; } | { all: true; paths?: never; }; export interface OrphanedFileRejection { path: string; reason: 'not_orphaned' | 'not_found' | 'delete_failed' | 'unknown'; } export interface OrphanedFileDeletionResult { deleted: OrphanedFile[]; rejected: OrphanedFileRejection[]; } export declare function orphanedResourceEndpoint(iri: string): string; export default class OrphanedResources { private readonly cwaFetch; constructor(cwaFetch: CwaFetch); fetchReport(): Promise; requestScan(): Promise; deleteOrphans(request: OrphanedResourceDeletionRequest): Promise; fetchFileReport(): Promise; requestFileScan(): Promise; deleteOrphanedFiles(request: OrphanedFileDeletionRequest): Promise; private post; }