export interface LLMConfig { readonly provider: 'openai' | 'ollama' | 'gemini'; readonly model?: string; readonly temperature?: number; readonly maxTokens?: number; readonly timeout?: number; } export interface OpenAIConfig { readonly apiKey: string; readonly baseUrl?: string; readonly organization?: string; } export interface OllamaConfig { readonly enabled: boolean; readonly baseUrl?: string; readonly model?: string; } export interface GeminiConfig { readonly apiKey: string; readonly model?: string; readonly temperature?: number; readonly maxTokens?: number; } export interface GitHubConfig { readonly token?: string; readonly baseUrl?: string; readonly apiVersion?: string; } export interface GitConfig { readonly repoPath?: string; readonly defaultBranch?: string; readonly includeStaged?: boolean; readonly includeUnstaged?: boolean; } export interface OutputConfig { readonly format: 'console' | 'markdown' | 'json' | 'html' | 'file'; readonly colorize?: boolean; readonly verbose?: boolean; readonly outputPath?: string; } export interface SecurityConfig { readonly enabled: boolean; readonly severity: ('low' | 'medium' | 'high' | 'critical')[]; readonly categories: ('injection' | 'authentication' | 'authorization' | 'cryptography' | 'data_exposure' | 'input_validation' | 'dependency' | 'configuration' | 'logging' | 'other')[]; readonly includeDependencies?: boolean; readonly packageJsonPath?: string; readonly lockFilePath?: string; } export interface TestConfig { readonly enabled: boolean; readonly framework: 'jest' | 'mocha' | 'vitest' | 'cypress' | 'playwright' | 'generic'; readonly testType: 'unit' | 'integration' | 'e2e' | 'performance' | 'security'; readonly language?: string; readonly includeSetup?: boolean; readonly includeTeardown?: boolean; readonly coverageTarget?: number; } export interface DocumentationConfig { readonly enabled: boolean; readonly format: 'markdown' | 'jsdoc' | 'tsdoc' | 'asciidoc' | 'rst' | 'plain'; readonly language?: string; readonly includeExamples?: boolean; readonly includeParameters?: boolean; readonly includeReturnTypes?: boolean; readonly includeSeeAlso?: boolean; readonly style?: 'formal' | 'casual' | 'technical' | 'beginner'; } export interface ReviewConfig { readonly enabled: boolean; readonly severity: ('info' | 'warning' | 'error' | 'suggestion')[]; readonly categories: ('style' | 'logic' | 'security' | 'performance' | 'maintainability' | 'documentation' | 'testing' | 'accessibility')[]; readonly outputFormat?: 'console' | 'markdown' | 'json' | 'html' | 'github' | 'file'; readonly postToGitHub?: boolean; } export interface Configuration { readonly llm: LLMConfig; readonly openai?: OpenAIConfig; readonly ollama?: OllamaConfig; readonly gemini?: GeminiConfig; readonly github?: GitHubConfig; readonly git: GitConfig; readonly output: OutputConfig; readonly security: SecurityConfig; readonly test: TestConfig; readonly documentation: DocumentationConfig; readonly review: ReviewConfig; readonly filePatterns?: string[]; readonly excludePatterns?: string[]; readonly verbose?: boolean; readonly debug?: boolean; } export declare class ConfigurationBuilder { private config; llm(llm: LLMConfig): ConfigurationBuilder; openai(openai: OpenAIConfig): ConfigurationBuilder; ollama(ollama: OllamaConfig): ConfigurationBuilder; gemini(gemini: GeminiConfig): ConfigurationBuilder; github(github: GitHubConfig): ConfigurationBuilder; git(git: GitConfig): ConfigurationBuilder; output(output: OutputConfig): ConfigurationBuilder; security(security: SecurityConfig): ConfigurationBuilder; test(test: TestConfig): ConfigurationBuilder; documentation(documentation: DocumentationConfig): ConfigurationBuilder; review(review: ReviewConfig): ConfigurationBuilder; filePatterns(filePatterns: string[]): ConfigurationBuilder; excludePatterns(excludePatterns: string[]): ConfigurationBuilder; verbose(verbose: boolean): ConfigurationBuilder; debug(debug: boolean): ConfigurationBuilder; build(): Configuration; } export declare function createDefaultConfiguration(): Configuration; export declare function createConfigurationFromEnv(): Configuration; //# sourceMappingURL=Configuration.d.ts.map