import { z } from 'zod';
export declare const AIServiceSchema: z.ZodEnum<["gemini", "claudecode"]>;
export type AIService = z.infer<typeof AIServiceSchema>;
export declare const ReviewStatusSchema: z.ZodEnum<["✅", "⚠️", "❌", "🔍", "📝"]>;
export type ReviewStatus = z.infer<typeof ReviewStatusSchema>;
export declare const ReviewCodeRequestSchema: z.ZodObject<{
    code: z.ZodString;
    language: z.ZodOptional<z.ZodString>;
    context: z.ZodOptional<z.ZodString>;
    ai_service: z.ZodOptional<z.ZodEnum<["gemini", "claudecode"]>>;
    custom_prompt: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    code: string;
    language?: string | undefined;
    context?: string | undefined;
    ai_service?: "gemini" | "claudecode" | undefined;
    custom_prompt?: string | undefined;
}, {
    code: string;
    language?: string | undefined;
    context?: string | undefined;
    ai_service?: "gemini" | "claudecode" | undefined;
    custom_prompt?: string | undefined;
}>;
export type ReviewCodeRequest = z.infer<typeof ReviewCodeRequestSchema>;
export declare const ReviewChangesRequestSchema: z.ZodObject<{
    repository_path: z.ZodOptional<z.ZodString>;
    ai_service: z.ZodOptional<z.ZodEnum<["gemini", "claudecode"]>>;
    custom_prompt: z.ZodOptional<z.ZodString>;
    include_staged: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    include_unstaged: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
    include_staged: boolean;
    include_unstaged: boolean;
    ai_service?: "gemini" | "claudecode" | undefined;
    custom_prompt?: string | undefined;
    repository_path?: string | undefined;
}, {
    ai_service?: "gemini" | "claudecode" | undefined;
    custom_prompt?: string | undefined;
    repository_path?: string | undefined;
    include_staged?: boolean | undefined;
    include_unstaged?: boolean | undefined;
}>;
export type ReviewChangesRequest = z.infer<typeof ReviewChangesRequestSchema>;
export declare const ReviewCommitRequestSchema: z.ZodObject<{
    commit_hash: z.ZodOptional<z.ZodString>;
    repository_path: z.ZodOptional<z.ZodString>;
    ai_service: z.ZodOptional<z.ZodEnum<["gemini", "claudecode"]>>;
    custom_prompt: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    ai_service?: "gemini" | "claudecode" | undefined;
    custom_prompt?: string | undefined;
    repository_path?: string | undefined;
    commit_hash?: string | undefined;
}, {
    ai_service?: "gemini" | "claudecode" | undefined;
    custom_prompt?: string | undefined;
    repository_path?: string | undefined;
    commit_hash?: string | undefined;
}>;
export type ReviewCommitRequest = z.infer<typeof ReviewCommitRequestSchema>;
export declare const ReviewFilesRequestSchema: z.ZodObject<{
    files: z.ZodArray<z.ZodString, "many">;
    repository_path: z.ZodOptional<z.ZodString>;
    ai_service: z.ZodOptional<z.ZodEnum<["gemini", "claudecode"]>>;
    custom_prompt: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    files: string[];
    ai_service?: "gemini" | "claudecode" | undefined;
    custom_prompt?: string | undefined;
    repository_path?: string | undefined;
}, {
    files: string[];
    ai_service?: "gemini" | "claudecode" | undefined;
    custom_prompt?: string | undefined;
    repository_path?: string | undefined;
}>;
export type ReviewFilesRequest = z.infer<typeof ReviewFilesRequestSchema>;
export declare const ReviewResultSchema: z.ZodObject<{
    status: z.ZodEnum<["✅", "⚠️", "❌", "🔍", "📝"]>;
    summary: z.ZodString;
    details: z.ZodString;
    ai_service_used: z.ZodEnum<["gemini", "claudecode"]>;
    timestamp: z.ZodString;
    report_file: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    status: "✅" | "⚠️" | "❌" | "🔍" | "📝";
    summary: string;
    details: string;
    ai_service_used: "gemini" | "claudecode";
    timestamp: string;
    report_file?: string | undefined;
}, {
    status: "✅" | "⚠️" | "❌" | "🔍" | "📝";
    summary: string;
    details: string;
    ai_service_used: "gemini" | "claudecode";
    timestamp: string;
    report_file?: string | undefined;
}>;
export type ReviewResult = z.infer<typeof ReviewResultSchema>;
export declare const ReviewCodeResponseSchema: z.ZodObject<{
    status: z.ZodEnum<["✅", "⚠️", "❌", "🔍", "📝"]>;
    summary: z.ZodString;
    review: z.ZodString;
    ai_service_used: z.ZodEnum<["gemini", "claudecode"]>;
    timestamp: z.ZodString;
}, "strip", z.ZodTypeAny, {
    status: "✅" | "⚠️" | "❌" | "🔍" | "📝";
    summary: string;
    ai_service_used: "gemini" | "claudecode";
    timestamp: string;
    review: string;
}, {
    status: "✅" | "⚠️" | "❌" | "🔍" | "📝";
    summary: string;
    ai_service_used: "gemini" | "claudecode";
    timestamp: string;
    review: string;
}>;
export type ReviewCodeResponse = z.infer<typeof ReviewCodeResponseSchema>;
export declare const ReviewChangesResponseSchema: z.ZodObject<{
    status: z.ZodEnum<["✅", "⚠️", "❌", "🔍", "📝"]>;
    summary: z.ZodString;
    review: z.ZodString;
    ai_service_used: z.ZodEnum<["gemini", "claudecode"]>;
    timestamp: z.ZodString;
}, "strip", z.ZodTypeAny, {
    status: "✅" | "⚠️" | "❌" | "🔍" | "📝";
    summary: string;
    ai_service_used: "gemini" | "claudecode";
    timestamp: string;
    review: string;
}, {
    status: "✅" | "⚠️" | "❌" | "🔍" | "📝";
    summary: string;
    ai_service_used: "gemini" | "claudecode";
    timestamp: string;
    review: string;
}>;
export type ReviewChangesResponse = z.infer<typeof ReviewChangesResponseSchema>;
export declare const ReviewCommitResponseSchema: z.ZodObject<{
    status: z.ZodEnum<["✅", "⚠️", "❌", "🔍", "📝"]>;
    summary: z.ZodString;
    review: z.ZodString;
    ai_service_used: z.ZodEnum<["gemini", "claudecode"]>;
    timestamp: z.ZodString;
}, "strip", z.ZodTypeAny, {
    status: "✅" | "⚠️" | "❌" | "🔍" | "📝";
    summary: string;
    ai_service_used: "gemini" | "claudecode";
    timestamp: string;
    review: string;
}, {
    status: "✅" | "⚠️" | "❌" | "🔍" | "📝";
    summary: string;
    ai_service_used: "gemini" | "claudecode";
    timestamp: string;
    review: string;
}>;
export type ReviewCommitResponse = z.infer<typeof ReviewCommitResponseSchema>;
export declare const ReviewFilesResponseSchema: z.ZodObject<{
    status: z.ZodEnum<["✅", "⚠️", "❌", "🔍", "📝"]>;
    summary: z.ZodString;
    review: z.ZodString;
    ai_service_used: z.ZodEnum<["gemini", "claudecode"]>;
    timestamp: z.ZodString;
}, "strip", z.ZodTypeAny, {
    status: "✅" | "⚠️" | "❌" | "🔍" | "📝";
    summary: string;
    ai_service_used: "gemini" | "claudecode";
    timestamp: string;
    review: string;
}, {
    status: "✅" | "⚠️" | "❌" | "🔍" | "📝";
    summary: string;
    ai_service_used: "gemini" | "claudecode";
    timestamp: string;
    review: string;
}>;
export type ReviewFilesResponse = z.infer<typeof ReviewFilesResponseSchema>;
export declare const AIServiceStatusSchema: z.ZodObject<{
    service: z.ZodEnum<["gemini", "claudecode"]>;
    available: z.ZodBoolean;
    configured: z.ZodBoolean;
    install_command: z.ZodOptional<z.ZodString>;
    config_command: z.ZodOptional<z.ZodString>;
    error_message: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    service: "gemini" | "claudecode";
    available: boolean;
    configured: boolean;
    install_command?: string | undefined;
    config_command?: string | undefined;
    error_message?: string | undefined;
}, {
    service: "gemini" | "claudecode";
    available: boolean;
    configured: boolean;
    install_command?: string | undefined;
    config_command?: string | undefined;
    error_message?: string | undefined;
}>;
export type AIServiceStatus = z.infer<typeof AIServiceStatusSchema>;
export declare const ErrorResponseSchema: z.ZodObject<{
    error: z.ZodString;
    error_code: z.ZodOptional<z.ZodString>;
    suggestions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    error: string;
    error_code?: string | undefined;
    suggestions?: string[] | undefined;
}, {
    error: string;
    error_code?: string | undefined;
    suggestions?: string[] | undefined;
}>;
export type ErrorResponse = z.infer<typeof ErrorResponseSchema>;
export declare const ConfigureAIServiceRequestSchema: z.ZodObject<{
    service: z.ZodEnum<["gemini", "claudecode"]>;
    scope: z.ZodDefault<z.ZodOptional<z.ZodEnum<["project", "global"]>>>;
    api_key: z.ZodOptional<z.ZodString>;
    timeout: z.ZodOptional<z.ZodNumber>;
    max_retries: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    service: "gemini" | "claudecode";
    scope: "project" | "global";
    api_key?: string | undefined;
    timeout?: number | undefined;
    max_retries?: number | undefined;
}, {
    service: "gemini" | "claudecode";
    scope?: "project" | "global" | undefined;
    api_key?: string | undefined;
    timeout?: number | undefined;
    max_retries?: number | undefined;
}>;
export type ConfigureAIServiceRequest = z.infer<typeof ConfigureAIServiceRequestSchema>;
export declare const GetAIServiceStatusRequestSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
export type GetAIServiceStatusRequest = z.infer<typeof GetAIServiceStatusRequestSchema>;
export declare const ConfigureAIServiceResponseSchema: z.ZodObject<{
    success: z.ZodBoolean;
    message: z.ZodString;
    config_path: z.ZodOptional<z.ZodString>;
    restart_required: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    message: string;
    success: boolean;
    config_path?: string | undefined;
    restart_required?: boolean | undefined;
}, {
    message: string;
    success: boolean;
    config_path?: string | undefined;
    restart_required?: boolean | undefined;
}>;
export type ConfigureAIServiceResponse = z.infer<typeof ConfigureAIServiceResponseSchema>;
export declare const GetAIServiceStatusResponseSchema: z.ZodObject<{
    services: z.ZodArray<z.ZodObject<{
        service: z.ZodEnum<["gemini", "claudecode"]>;
        available: z.ZodBoolean;
        configured: z.ZodBoolean;
        install_command: z.ZodOptional<z.ZodString>;
        config_command: z.ZodOptional<z.ZodString>;
        error_message: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        service: "gemini" | "claudecode";
        available: boolean;
        configured: boolean;
        install_command?: string | undefined;
        config_command?: string | undefined;
        error_message?: string | undefined;
    }, {
        service: "gemini" | "claudecode";
        available: boolean;
        configured: boolean;
        install_command?: string | undefined;
        config_command?: string | undefined;
        error_message?: string | undefined;
    }>, "many">;
    current_service: z.ZodString;
    auto_switch_enabled: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    services: {
        service: "gemini" | "claudecode";
        available: boolean;
        configured: boolean;
        install_command?: string | undefined;
        config_command?: string | undefined;
        error_message?: string | undefined;
    }[];
    current_service: string;
    auto_switch_enabled: boolean;
}, {
    services: {
        service: "gemini" | "claudecode";
        available: boolean;
        configured: boolean;
        install_command?: string | undefined;
        config_command?: string | undefined;
        error_message?: string | undefined;
    }[];
    current_service: string;
    auto_switch_enabled: boolean;
}>;
export type GetAIServiceStatusResponse = z.infer<typeof GetAIServiceStatusResponseSchema>;
//# sourceMappingURL=types.d.ts.map