import { type RateLimitInfo, type RepoInfo } from "./client.mts"; import type { BatchPrData } from "../types.mts"; import { type PrFingerprint } from "./fingerprint.mts"; interface BatchResult { data: BatchPrData; fingerprint?: PrFingerprint; rateLimit?: RateLimitInfo; /** True when GraphQL returned a complete CheckSuite page; skip REST startup-failure fetch. */ checkSuitesComplete?: boolean; } interface FetchPrBatchOptions { /** * When false (default), the first-page approvedReviews are returned but * backward pagination is skipped. Iterate's approvals-minimize flow sets this * to true only when the user opts in, so long-lived PRs with > 50 approvals * don't pay extra GraphQL round-trips per iterate call for data no consumer * currently uses. The first page is free — already inside the one batch * request — so there's no need to conditionally omit the field itself. */ paginateApprovedReviews?: boolean; } /** * Fetch all PR data needed for a `shepherd check` in one (or a few, if paginating) GraphQL requests. */ export declare function fetchPrBatch(pr: number, repo: RepoInfo, opts?: FetchPrBatchOptions): Promise; export {};