import type { Extractor, ExtractionResult } from '../../types.js'; /** * Injected raw fetcher for the fallback path. Takes a fully-formed * raw.githubusercontent.com URL and returns the file body as text. Injected so * tests mock it and no real network access happens inside the sync extractor. */ export type RawBlobFetcher = (url: string) => Promise; /** * Full blob extraction with the raw-content network fallback. * * Tries local (sync) extraction first — modern embedded payload, then legacy * selectors. Only when the payload is ABSENT or TRUNCATED (large files GitHub * refuses to inline) does it fetch the file body from raw.githubusercontent.com * via the injected `fetchRaw`. A complete payload NEVER triggers a second fetch. * * The fetcher is injected (not called directly) so the sync `Extractor.extract` * contract is preserved and tests mock the network. On fetch failure it returns * whatever local extraction produced (possibly null) rather than throwing. */ export declare function extractGithubBlobWithRawFallback(html: string, url: string, fetchRaw: RawBlobFetcher): Promise; export declare const githubExtractor: Extractor; //# sourceMappingURL=github.d.ts.map