import { AssistantMode, BuiltInAssistantMode } from './types'; /** * The shared English name of each mode: what a mode pill shows when the * product's own `label` is empty. * * ★ Its own module, apart from `ASSISTANT_MODE_META`, because that table * carries icon components. The i18n manifest (`i18nManifest.ts`) needs these * words and the complete list of modes, and a product's extractor script loads * the manifest outside any React tree — so neither may live behind a component * import. * * ★ `satisfies Record` makes the table exactly * the built-in union: a new built-in mode without a name here, or a name for a * mode that no longer exists, fails the typecheck. Product-declared modes are * named by `assistantModeFallbackLabel`. */ export declare const ASSISTANT_MODE_FALLBACK_LABELS: { readonly general: "Ask"; readonly assistant: "Ask"; readonly "api-calls": "Take action"; readonly "vibe-plugins": "Build"; }; /** * Every BUILT-IN mode id, read off the table above so the list cannot fall * behind the union. Product-declared ids are, by design, not listed anywhere in * shared code — see `ProductAssistantMode`. */ export declare const ASSISTANT_MODE_IDS: readonly BuiltInAssistantMode[]; /** * Is this one of fe-libs' own modes? * * ★ Lives beside the table it reads, so the check and the list are one thing. * `Object.hasOwn`, not `in`: `"toString" in table` is true. */ export declare function isBuiltInAssistantMode(value: unknown): value is BuiltInAssistantMode; /** * The shared English name for a mode whose product gave an empty `label`. * * Built-in: the table above. Product-declared: named by what it does — the * build mode's word for a mode that `producesArtifacts`, otherwise Ask's. Same * two words the built-ins already use, so no new copy exists to seed. */ export declare function assistantModeFallbackLabel(mode: { id: AssistantMode; producesArtifacts?: boolean; }): string; //# sourceMappingURL=modeCopy.d.ts.map