import { z } from 'zod';
export declare const PromptInputSchema: z.ZodObject<{
    title: z.ZodString;
    description: z.ZodString;
    domain: z.ZodString;
    features: z.ZodArray<z.ZodString, "many">;
    techStack: z.ZodArray<z.ZodString, "many">;
    complexity: z.ZodEnum<["simple", "moderate", "complex"]>;
}, "strip", z.ZodTypeAny, {
    title?: string;
    description?: string;
    domain?: string;
    features?: string[];
    techStack?: string[];
    complexity?: "simple" | "moderate" | "complex";
}, {
    title?: string;
    description?: string;
    domain?: string;
    features?: string[];
    techStack?: string[];
    complexity?: "simple" | "moderate" | "complex";
}>;
export declare class PromptSanitizer {
    /**
     * Sanitize user input for safe inclusion in prompts
     * Prevents prompt injection attacks
     */
    static sanitizeInput(input: string, maxLength?: number): string;
    /**
     * Sanitize README content specifically
     */
    static sanitizeReadme(readme: string): string;
    /**
     * Escape special characters for JSON inclusion
     */
    static escapeForJson(str: string): string;
    /**
     * Build safe prompt with sanitized inputs
     */
    static buildSafePrompt(template: string, variables: Record<string, any>): string;
    /**
     * Validate and sanitize project info for LLM
     */
    static sanitizeProjectInfo(projectInfo: any): z.infer<typeof PromptInputSchema>;
    /**
     * Check for potentially malicious patterns
     */
    static containsSuspiciousPatterns(input: string): boolean;
}
//# sourceMappingURL=prompt-sanitizer.d.ts.map