import type { ComputedRef } from 'vue'; import type { FetchStatus } from '../fetcher/state.js'; import type { CwaCurrentResourceInterface, CwaResourcesStateInterface } from './state.js'; import type { AddResourceEvent } from '#cwa/admin/resource-stack-manager'; export interface ResourcesLoadStatusInterface { pending: number; complete: number; total: number; percent: number; } interface PublishableMapping { [key: string]: string; } export interface CwaResourcesGettersInterface { getOrderedPositionsForGroup: ComputedRef<(groupIri: string, includeNewIri?: boolean) => string[] | undefined>; getPositionSortDisplayNumber: ComputedRef<(groupIri: string, includeNewIri?: boolean) => number | undefined>; getResource: ComputedRef<(iri: string) => CwaCurrentResourceInterface | undefined>; getChildIris: ComputedRef<(iri: string, addResourceEvent: undefined | AddResourceEvent) => string[]>; hasNewResources: ComputedRef; findPublishedComponentIri: ComputedRef<(iri: string) => string | undefined>; findDraftComponentIri: ComputedRef<(iri: string) => string | undefined>; publishedToDraftIris: ComputedRef; draftToPublishedIris: ComputedRef; isIriPublishableEquivalent: ComputedRef<(oldIri: string, newIri: string) => boolean>; findAllPublishableIris: ComputedRef<(iri: string) => string[]>; componentGroupByReference: ComputedRef<(reference: string) => CwaCurrentResourceInterface | undefined>; totalResourcesPending: ComputedRef; currentResourcesApiStateIsPending: ComputedRef; resourcesApiStateIsPending: ComputedRef<(resources: string[]) => boolean>; isFetchStatusResourcesResolved: ComputedRef<(fetchStatus: FetchStatus) => boolean>; resourceLoadStatus: ComputedRef; } export default function (resourcesState: CwaResourcesStateInterface): CwaResourcesGettersInterface; export {};