export interface WaitIssueComment { body?: string | null; created_at: string; user?: { login?: string; type?: string; } | null; author_association?: string; } export interface MaintainerReply { author: string; createdAt: string; /** Shortened single-line plain text of the reply (display only). */ excerpt: string; } export type MaintainerWaitDecision = { status: 'off'; } | { status: 'elapsed'; } | { status: 'replied'; replies: MaintainerReply[]; } | { status: 'waiting'; until: Date; }; /** Shorten a comment to one plain line for display. */ export declare function excerptComment(body: string): string; /** * Decide whether the build may start. A maintainer reply (a comment by the * repo's owner, a member or a collaborator — not the issue author, not a bot) * ends the wait early; otherwise the window ends `waitDays` after the issue * was created. */ export declare function evaluateMaintainerWait(input: { waitDays: number; issueCreatedAt: string; issueAuthor?: string; comments: ReadonlyArray; now: number; }): MaintainerWaitDecision; type GhApi = (endpoint: string) => Promise; /** * Fetch the issue and its comments from GitHub and evaluate the window. */ export declare function checkMaintainerWait(input: { owner: string; repo: string; issueNumber: number; waitDays: number; now?: number; api?: GhApi; }): Promise; export {}; //# sourceMappingURL=maintainer-wait.d.ts.map