import type * as Command from "effect/unstable/cli/Command"; export declare const COMPLETION_SHELLS: readonly ["bash", "zsh", "fish"]; export type CompletionShell = (typeof COMPLETION_SHELLS)[number]; export type CompletionValueProvider = (path: readonly string[], argumentDepth: number, positional: readonly string[]) => readonly string[] | undefined; export declare function isCompletionShell(value: string): value is CompletionShell; export declare function visibleCommandNames(command: Command.Command.Any): string[]; export declare function filterCompletionCandidates(candidates: readonly string[], currentWord: string): string[]; export declare function completionCandidates(program: Command.Command.Any, words: readonly string[], dynamicValues?: CompletionValueProvider): string[]; export declare function completionScript(shell: CompletionShell, binary: string, program: Command.Command.Any): string;