import { PromptKind } from "../schema/prompt.mjs"; import { FlagKind, FlagSchema } from "../schema/flag.mjs"; import { PromptEngine } from "../prompt/index.mjs"; import { DeprecationWarning } from "./contracts.mjs"; import { ErasedInteractiveResolver } from "../schema/command.mjs"; //#region src/core/resolve/flags.d.ts /** * Filesystem probe injected by the caller for `flag.path()` checks. * * Returns what exists at the path, or `null` when nothing does. */ type StatFn = (path: string) => Promise<'file' | 'directory' | null>; /** Recursive directory creation injected by the caller for `flag.path()` `create` checks. */ type MkdirFn = (path: string) => Promise; /** Walk every declared flag through the resolution chain (cli -> env -> config -> prompt -> default), collecting deprecations and throwing aggregated errors. */ declare function resolveFlags(flagSchemas: Readonly>, parsedFlags: Readonly>, env: Readonly>, config: Readonly>, prompter: PromptEngine | undefined, interactive: ErasedInteractiveResolver | undefined, deprecations: DeprecationWarning[], stat: StatFn | undefined, mkdir: MkdirFn | undefined): Promise>>; /** Maps each flag kind to the prompt kinds that produce compatible values. */ declare const COMPATIBLE_PROMPT_KINDS: Record; //#endregion export { COMPATIBLE_PROMPT_KINDS, resolveFlags };