import type { ZodSchema } from 'zod'; import { z } from 'zod'; import type { Config, ConfigInput } from './schema'; type TaskProvider = 'github' | 'linear' | 'local'; type PackageManager = 'bun' | 'pnpm' | 'yarn' | 'npm'; type VerifyCommand = { name: string; cmd: string; }; export type InitAnswers = { worktreeDir: string; enabledProviders: TaskProvider[]; defaultProvider: TaskProvider; verifyCommands: VerifyCommand[]; }; export type InitContext = { repoRoot: string; detection: InitDetection; existingConfig?: ConfigInput; existingConfigPath?: string; }; export type InitResult = { action: 'created' | 'updated' | 'skipped'; path?: string; backupPath?: string; changes?: string[]; }; type InitDetection = { worktreeDir: string; verifyCommands: VerifyCommand[]; packageManager: PackageManager; defaultBranch: string; github?: { owner: string; repo: string; }; }; export type InitAssistResult = { suggestions: Partial; notes: string[]; inputsDigest: string; }; declare const initAssistSchema: z.ZodObject<{ worktreeDir: z.ZodOptional; enabledProviders: z.ZodOptional>>; defaultProvider: z.ZodOptional>; verifyCommands: z.ZodOptional>>; notes: z.ZodDefault>; }, z.core.$strict>; type InitAssistOutput = z.infer; export declare function hasInitSuggestions(suggestions?: Partial | null): boolean; export declare function applyInitSuggestions(defaults: InitAnswers, suggestions: Partial): InitAnswers; export declare function suggestInitDefaults(options: { context: InitContext; config: Config; cacheDir?: string; client?: { chat: (options: { messages: unknown; schema: ZodSchema; }) => Promise<{ content: InitAssistOutput; }>; }; }): Promise; export declare function collectInitContext(repoRoot: string): Promise; export declare function getInitDefaults(context: InitContext): InitAnswers; export declare function promptInitAnswers(context: InitContext, options?: { defaults?: InitAnswers; }): Promise; export declare function writeInitConfig(context: InitContext, answers: InitAnswers, options?: { updateExisting?: boolean; }): Promise; export {};