/** * Resolve the authoritative PDF URL for a documentation `deliverable` * (the `atlas.en-us..meta` key). * * Returns the `pdf_url` string when present, or `null` when the deliverable has * no PDF, when the metadata response is empty/unparseable, or on any network * error or timeout. Results (including `null`) are cached in-process for the * lifetime of the module so repeated calls within a single run do not refetch. * * Never throws. */ export declare function resolvePdfUrl(deliverable: string, signal?: AbortSignal): Promise; /** Clear the in-process cache. Test-only helper; not part of the public flow. */ export declare function clearPdfUrlCache(): void; /** * Resolve the server-rendered HTML content for a documentation `deliverable` * (the `atlas.en-us..meta` key). * * Atlas documentation pages on `developer.salesforce.com` are client-rendered * single-page apps: fetching the raw `.htm`/`.html` URL yields only a JS shell * with ~21 characters of visible text. The same metadata API used for * {@link resolvePdfUrl} also returns the *server-rendered* page body in its * `content` field, plus the document `title`. Resolving through it yields real, * non-empty content where the raw URL fetch cannot. * * Returns a small HTML document — `

{title}

{content}` — when the * metadata response carries usable `content`, or `null` when the deliverable * exposes no content (the newer AI docs platform — e.g. `agentforce`, `ai`, * `einstein_platform` — returns an empty body here), when the response is * empty/unparseable, or on any network error or timeout. Results (including * `null`) are cached in-process for the module lifetime. * * Never throws. */ export declare function resolveAtlasContent(deliverable: string, signal?: AbortSignal): Promise; /** * Resolve the server-rendered HTML content for one specific sub-page of a * documentation `deliverable` — e.g. `sforce_api_objects_account.htm` within * the `object_reference` deliverable — via `developer.salesforce.com`'s * `get_document_content///en-us/` endpoint. * * Unlike {@link resolveAtlasContent} (which only returns a deliverable's root * page), this fetches a specific named sub-page — the shape most real * "show me object X's reference" questions actually need. * * `version` defaults to the deliverable's current `doc_version`, resolved via * the same Atlas metadata call {@link resolvePdfUrl}/{@link resolveAtlasContent} * already make (see {@link resolveDocVersion}), so a caller never has to * hardcode a version that drifts across releases. `pageSlug` may be passed * with or without its `.htm` suffix. * * Returns `null` when the deliverable's version cannot be resolved, when the * sub-page has no content (invalid slug, or a deliverable not served by this * endpoint), when the response is empty/unparseable, or on any network error * or timeout. Results (including `null`) are cached in-process for the module * lifetime, keyed by deliverable + page + resolved version. * * Never throws. */ export declare function resolveAtlasPageContent(deliverable: string, pageSlug: string, version?: string, signal?: AbortSignal): Promise;