/**
 * 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<ProviderType, 'mock'>;
/**
 * 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<Language>;
/**
 * Prompt user to select provider for resources.
 * Exits process if cancelled (initial setup is required).
 */
export declare function promptProviderSelection(): Promise<InitialSetupProvider>;
/** 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<void>;
/**
 * 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