import * as p from "@clack/prompts"; import * as Effect from "effect/Effect"; declare const PromptCancelled_base: new = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & { readonly _tag: "PromptCancelled"; } & Readonly; export declare class PromptCancelled extends PromptCancelled_base { } export declare const retryIfCancelled: (self: Effect.Effect) => Effect.Effect; /** * Wraps a clack prompt (which returns a `Promise` where the * symbol indicates user cancellation) in an Effect. * * Returns `undefined` if the user cancels (Ctrl+C / Escape). * * Uses `Effect.callback` so fiber interruption propagates to the clack * prompt through its abort signal, releasing stdin and restoring the cursor. */ export declare const prompt: (fn: (signal: AbortSignal) => Promise) => Effect.Effect; export declare const success: (str: string) => Effect.Effect; export declare const warn: (str: string) => Effect.Effect; export declare const error: (str: string) => Effect.Effect; export declare const info: (str: string) => Effect.Effect; type TextOptions = Omit & { validate?: (value: string) => string | Error | undefined; }; type PasswordOptions = Omit & { validate?: (value: string) => string | Error | undefined; }; export declare const text: (opts: TextOptions) => Effect.Effect; export declare const password: (opts: PasswordOptions) => Effect.Effect; export declare const select: (opts: p.SelectOptions) => Effect.Effect; export declare const confirm: (opts: p.ConfirmOptions) => Effect.Effect; export declare const multiselect: (opts: p.MultiSelectOptions) => Effect.Effect; /** * Open a URL in the user's default browser. * * On Windows, uses rundll32's FileProtocolHandler — a built-in shim that * opens URLs in the default browser. It accepts the URL as a direct * argument (no shell, no quoting of `&`). cmd.exe `start` would treat * `&` in OAuth URLs as a command separator, and `explorer.exe` treats * its arg as a path. */ export declare const openUrl: (url: string) => Effect.Effect; export {}; //# sourceMappingURL=Clank.d.ts.map