import { z } from 'zod';
import { AIConfig } from './config';
declare const FieldSuggestionSchema: z.ZodObject<{
    fieldName: z.ZodString;
    fieldType: z.ZodEnum<["text", "email", "password", "number", "date", "select", "checkbox", "radio", "textarea", "file"]>;
    label: z.ZodString;
    placeholder: z.ZodOptional<z.ZodString>;
    required: z.ZodBoolean;
    validation: z.ZodOptional<z.ZodObject<{
        minLength: z.ZodOptional<z.ZodNumber>;
        maxLength: z.ZodOptional<z.ZodNumber>;
        pattern: z.ZodOptional<z.ZodString>;
        customMessage: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        pattern?: string | undefined;
        maxLength?: number | undefined;
        minLength?: number | undefined;
        customMessage?: string | undefined;
    }, {
        pattern?: string | undefined;
        maxLength?: number | undefined;
        minLength?: number | undefined;
        customMessage?: string | undefined;
    }>>;
    options: z.ZodOptional<z.ZodArray<z.ZodObject<{
        value: z.ZodString;
        label: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        label: string;
        value: string;
    }, {
        label: string;
        value: string;
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    label: string;
    required: boolean;
    fieldType: "number" | "select" | "textarea" | "text" | "checkbox" | "radio" | "email" | "date" | "file" | "password";
    fieldName: string;
    options?: {
        label: string;
        value: string;
    }[] | undefined;
    placeholder?: string | undefined;
    validation?: {
        pattern?: string | undefined;
        maxLength?: number | undefined;
        minLength?: number | undefined;
        customMessage?: string | undefined;
    } | undefined;
}, {
    label: string;
    required: boolean;
    fieldType: "number" | "select" | "textarea" | "text" | "checkbox" | "radio" | "email" | "date" | "file" | "password";
    fieldName: string;
    options?: {
        label: string;
        value: string;
    }[] | undefined;
    placeholder?: string | undefined;
    validation?: {
        pattern?: string | undefined;
        maxLength?: number | undefined;
        minLength?: number | undefined;
        customMessage?: string | undefined;
    } | undefined;
}>;
export type FieldSuggestion = z.infer<typeof FieldSuggestionSchema>;
export declare class OpenAIService {
    private client;
    private cache;
    private errorHandler;
    private config;
    constructor(config: AIConfig);
    generateFormFieldSuggestions(formContext: string, existingFields?: FieldSuggestion[]): Promise<FieldSuggestion[]>;
    generateSemanticSearchQuery(userQuery: string): Promise<{
        enhancedQuery: string;
        searchTerms: string[];
        intent: 'search' | 'navigation' | 'action' | 'question';
        confidence: number;
    }>;
    generateContentSummary(content: string, maxLength?: number): Promise<string>;
    generateCodeCompletion(code: string, language: string, context?: string): Promise<string>;
    private buildFormSuggestionPrompt;
    private shouldUseCheaperModel;
    private getFallbackSuggestions;
}
export {};
//# sourceMappingURL=openai-service.d.ts.map