/** * Initialization module for first-time setup * * Handles language selection and initial config.yaml creation. * Builtin agents/workflows are loaded via fallback from builtins/ * and no longer copied to ~/.takt/ on setup. */ import type { Language } from '../../../core/models/index.js'; import type { ProviderType } from '../../../shared/types/provider.js'; type InitialSetupProvider = Exclude; /** * Check if initial setup is needed. * Returns true if config.yaml doesn't exist yet. */ export declare function needsLanguageSetup(): boolean; /** * Prompt user to select language for resources. * Returns 'en' for English (default), 'ja' for Japanese. * Exits process if cancelled (initial setup is required). */ export declare function promptLanguageSelection(): Promise; /** * Prompt user to select provider for resources. * Exits process if cancelled (initial setup is required). */ export declare function promptProviderSelection(): Promise; /** * Prompt user to select the model for the chosen provider. * The selected model is written to runtime.yaml `profiles.default`, whose referenced profile must * define both provider and model, so the model must be consistent with the provider (e.g. opencode * requires a `provider/model` value). We therefore offer the provider's known models and require an * explicit value rather than defaulting to a Claude model name for every provider. * Exits process if cancelled (initial setup is required). */ export declare function promptModelSelection(provider: InitialSetupProvider): Promise; /** Options for global directory initialization */ export interface InitGlobalDirsOptions { /** Skip interactive prompts (CI/non-TTY environments) */ nonInteractive?: boolean; } /** * Initialize global takt directory structure with language selection. * On first run, creates config.yaml from language template. * Agents/workflows are NOT copied — they are loaded via builtin fallback. * * In non-interactive mode (pipeline mode or no TTY), skips prompts * and uses default values so takt works in pipeline/CI environments without config.yaml. */ export declare function initGlobalDirs(options?: InitGlobalDirsOptions): Promise; /** * Initialize project-level .takt directory. * Creates .takt/ and copies project resources (e.g., .gitignore). * Only copies files that don't exist. */ export declare function initProjectDirs(projectDir: string): void; export {}; //# sourceMappingURL=initialization.d.ts.map