/** * Shell completion (zsh, bash, fish) — kubectl-style: * * source <(email-mcp completion zsh) # one line in ~/.zshrc * source <(email-mcp completion bash) # one line in ~/.bashrc * email-mcp completion fish | source # or write to ~/.config/fish/completions/ * * Scripts are generated from the COMMAND tree below, and the dynamic values * (account names, config-edit sections) are resolved at completion time via * the hidden `email-mcp __complete ` helper — so completions follow * the user's actual config and never drift from the settings catalog. */ import type { AppConfig } from '../types/index.js'; export type DynamicKind = 'accounts' | 'sections'; interface FlagSpec { flag: string; description: string; takesValue?: boolean; } interface SubcommandSpec { name: string; description: string; /** Dynamic completion for the positional argument after this subcommand. */ arg?: DynamicKind; flags?: FlagSpec[]; } interface CommandSpec { name: string; description: string; subcommands?: SubcommandSpec[]; arg?: DynamicKind; flags?: FlagSpec[]; } export declare const COMMANDS: CommandSpec[]; /** Dynamic candidates for the hidden `__complete ` helper. */ export declare function completionCandidates(kind: DynamicKind, config?: AppConfig): string[]; export declare function generateZshCompletion(): string; export declare function generateBashCompletion(): string; export declare function generateFishCompletion(): string; export default function runCompletionCommand(shellArg?: string): void; export {}; //# sourceMappingURL=completion.d.ts.map