import { type ArcadeOptions } from "./space-invaders.js"; export type ArcadeMode = "never" | "ask" | "always"; export interface ArcadeOfferOptions extends ArcadeOptions { readonly outputMode: "human" | "json" | "quiet"; readonly offerAfterMs?: number; readonly prompt?: string; } interface ArcadeQuestion { readonly promise: Promise; readonly cancel: () => void; } export interface ArcadeOfferRuntime { readonly mode?: ArcadeMode; readonly stdoutIsTty?: boolean; readonly stdinIsTty?: boolean; readonly ci?: boolean; readonly term?: string; readonly columns?: number; readonly rows?: number; readonly wait?: (milliseconds: number) => Promise; readonly ask?: (prompt: string) => ArcadeQuestion; readonly play?: (task: Promise, options: ArcadeOptions) => Promise; } export declare function isArcadeOfferEligible(outputMode: ArcadeOfferOptions["outputMode"], runtime?: ArcadeOfferRuntime): boolean; export declare function offerArcadeWhileWaiting(task: Promise, options: ArcadeOfferOptions, runtime?: ArcadeOfferRuntime): Promise; export {};