export interface GitignoreUpdateOptions { /** * The base directory where .gitignore is located (defaults to process.cwd()) */ baseDirectory?: string; /** * Custom comment header to add before the gitignore entries */ commentHeader?: string; } export interface GitignoreUpdateResult { /** * Whether the operation was successful */ success: boolean; /** * The action that was performed */ action: 'created' | 'updated' | 'skipped' | 'error'; /** * A message describing what happened */ message: string; /** * The paths that were added (if any) */ addedPaths?: string[]; /** * Error details if the operation failed */ error?: string; } /** * Updates or creates a .gitignore file with the specified output paths * * @param outputPaths - Array of paths to add to .gitignore * @param options - Optional configuration for the gitignore update * @returns Result object with operation details * * @example * ```typescript * const result = await updateGitignore(['src/__gen__/payloads', 'src/__gen__/channels']); * if (result.success) { * console.log(result.message); * } * ``` */ export declare function updateGitignore(outputPaths: string[], options?: GitignoreUpdateOptions): Promise; /** * Collects output paths from generator flags * * @param generatorConfigs - Map of generator names to their configurations * @returns Array of output paths * * @example * ```typescript * const paths = collectOutputPaths({ * payloads: { outputPath: 'src/__gen__/payloads' }, * channels: { outputPath: 'src/__gen__/channels' } * }); * // Returns: ['src/__gen__/payloads', 'src/__gen__/channels'] * ``` */ export declare function collectOutputPaths(generatorConfigs: Record): string[];