import type { ApiDocumentationStore } from '../storage/stores/api-documentation/api-documentation-store.js'; import type { CwaApiDocumentationDataInterface } from '../storage/stores/api-documentation/state.js'; import type CwaFetch from './fetcher/cwa-fetch.js'; export interface ApiDocumentationComponentMetadata { resourceName: string; endpoint: string; isPublishable: boolean; explicitAllowOnly: boolean; } export interface ApiDocumentationComponentMetadataCollection { [key: string]: ApiDocumentationComponentMetadata; } export default class ApiDocumentation { private readonly cwaFetch; private readonly _store; private readonly apiDocsSet; private apiDocPromise; constructor(cwaFetch: CwaFetch, store: ApiDocumentationStore); setDocsPathFromLinkHeader(linkHeader: string): void; getApiDocumentation(refresh?: boolean): Promise; getComponentMetadata(refresh?: boolean, includePosition?: boolean): Promise; private reRunGetApiDocumentationWhenReady; private getCurrentApiDocs; private awaitApiDocPromise; private fetchAllApiDocumentation; private doRequest; private get store(); private get docsPath(); }