export declare function isGitAuthFailure(stderr: string | undefined | null): boolean; export interface PushReadinessProbe { ran: boolean; ok?: boolean; stderr?: string; } export interface PushReadinessInput { isHttps: boolean; probe?: PushReadinessProbe; } export interface PushReadinessDecision { ok: boolean; reason?: string; detail?: string; } export declare function decidePushReadiness(input: PushReadinessInput): PushReadinessDecision; export interface CliTrustProbe { trusted: boolean; } export interface CliTrustInput { required: boolean; probe?: CliTrustProbe | null; } export interface CliTrustDecision { ok: boolean; reason?: string; detail?: string; } export declare function decideCliTrustReadiness(input: CliTrustInput): CliTrustDecision; export interface CliCredentialProbe { kind: 'subscription' | 'api_key' | 'unknown'; expires_at_ms: number | null; refresh_token_present: boolean; } export interface CliAuthInput { probe?: CliCredentialProbe | null; now: number; } export interface CliAuthDecision { ok: boolean; reason?: string; detail?: string; } export declare function decideCliAuthReadiness(input: CliAuthInput): CliAuthDecision; export interface WorktreeOutcome { isWorktree?: boolean; reason?: string; } export interface DispatchGateDecision { blocked: boolean; kind?: string; reason?: string; } export declare function classifyWorktreeOutcome(res: WorktreeOutcome | null | undefined): DispatchGateDecision; export declare function isSafeTicketProvisioningFallback(reason?: string): boolean; export interface WorktreeCheckoutProbe { insideWorkTree: boolean; headResolved?: boolean; originUrl?: string; } export interface WorktreeCheckoutExpectation { url?: string; } export type WorktreeCheckoutReason = 'not_a_git_repo' | 'incomplete_checkout' | 'wrong_repository'; export interface WorktreeCheckoutDecision { ok: boolean; reason?: WorktreeCheckoutReason; detail?: string; } export declare function normalizeRemoteUrl(raw: string | undefined | null): string; export declare function redactRemoteUrl(raw: string | undefined | null): string; export declare function classifyWorktreeCheckout(probe: WorktreeCheckoutProbe, expected?: WorktreeCheckoutExpectation): WorktreeCheckoutDecision; export declare function managedWorktreePath(baseWorkingDir: string | undefined | null, cwd: string | undefined | null): string; export declare class DispatchBlockerTracker { #private; shouldComment(ticketId: string | undefined, kind: string): boolean; clear(ticketId: string | undefined): void; activeKind(ticketId: string | undefined): string | undefined; } export declare const DEFAULT_SPAWN_SUPPRESS_COOLDOWN_MS: number; export declare const DEFAULT_PEND_AFTER_ABORTS = 3; export declare function isDurableProvisioningBlocker(kind: string | undefined | null): boolean; export interface SpawnExceptionClassification { reason: string; detail?: string; serverKey?: string; } export declare function classifySpawnException(err: unknown): SpawnExceptionClassification; export interface SpawnSuppressDecision { suppress: boolean; kind?: string; count?: number; sinceMs?: number; } export declare class RoleSpawnSuppressor { #private; constructor(cooldownMs?: number, pendAfterAborts?: number); note(ticketId: string | undefined, role: string | undefined, kind: string, now: number): { count: number; shouldPend: boolean; }; shouldSuppress(ticketId: string | undefined, role: string | undefined, opts: { now: number; fromSupervisor: boolean; }): SpawnSuppressDecision; clear(ticketId: string | undefined, role: string | undefined): void; activeKind(ticketId: string | undefined, role: string | undefined): string | undefined; } export declare function provisioningPendReason(args: { kind: string; reason?: string; detail?: string; count: number; }): string; export interface InflightDispatchMeta { ticketId: string; role: string; agentId: string; reservedAt?: number; nonce?: string; pid?: number; } export type DispatchSuppressReason = 'inflight_dispatch'; export type DispatchHolderKind = 'trigger' | 'mention'; export declare class InflightDispatchTracker { #private; static key(ticketId: string, role: string, agentId: string): string; tryAcquireFallback(key: string, meta: InflightDispatchMeta): { acquired: boolean; nonce?: string; evicted?: 'stale' | 'dead_pid'; }; attachDispatchPid(key: string, nonce: string | undefined, pid: number): void; releaseFallback(key: string, nonce?: string): void; isFallbackInflight(key: string): boolean; noteHolder(key: string, kind: DispatchHolderKind): void; holderKind(key: string): DispatchHolderKind | null; recordSuppression(reason: DispatchSuppressReason, key: string, opts: { force: boolean; raw?: string; columnWorkflow?: boolean; }): { surface: boolean; }; onRelease(key: string): { pendingForceRaw: string | null; pendingColumnWorkflowRaw: string | null; }; suppressedCount(reason?: DispatchSuppressReason): number; suppressionCounts(): Record; } export declare class DispatchBlockTracker { #private; record(kind: string | undefined | null): void; counts(): Record; total(reason?: string): number; } export interface PendingRetryEntry { key: string; raw: string; ticketId: string; role: string; agentId: string; attempts: number; delayMs: number; timer: unknown | null; attempting: boolean; } export interface RetryScheduler { set(fn: () => void, ms: number): unknown; clear(handle: unknown): void; } export interface PendingDispatchRetryOptions { onRetry: (raw: string) => Promise | void; onGiveUp: (entry: PendingRetryEntry) => Promise | void; verify?: (entry: PendingRetryEntry) => Promise | boolean; scheduler?: RetryScheduler; baseDelayMs?: number; maxDelayMs?: number; maxAttempts?: number; log?: (msg: string) => void; } export declare class PendingDispatchRetry { #private; constructor(opts: PendingDispatchRetryOptions); register(meta: InflightDispatchMeta, raw: string): { created: boolean; }; resolve(meta: InflightDispatchMeta): void; cancel(key: string, reason: string): void; cancelByTicket(ticketId: string, reason: string): void; wake(reason: string): void; has(key: string): boolean; size(): number; } export declare function firstLine(text: string | undefined | null): string;