/**
 * Inquirer Validators
 *
 * Custom validators for inquirer prompts that integrate with the existing
 * InputValidationService for consistent validation across the CLI.
 *
 * @version 1.0.0
 * @author ADPA Team
 */
/**
 * Validator factory for inquirer prompts
 */
export declare class InquirerValidators {
    /**
     * Create a validator for project names
     */
    static projectName(): (input: string) => boolean | string;
    /**
     * Create a validator for file paths
     */
    static filePath(): (input: string) => boolean | string;
    /**
     * Create a validator for URLs
     */
    static url(): (input: string) => boolean | string;
    /**
     * Create a validator for email addresses
     */
    static email(): (input: string) => boolean | string;
    /**
     * Create a validator for API keys
     */
    static apiKey(provider?: string): (input: string) => boolean | string;
    /**
     * Create a validator for numbers
     */
    static number(min?: number, max?: number): (input: string) => boolean | string;
    /**
     * Create a validator for required text
     */
    static required(fieldName?: string): (input: string) => boolean | string;
    /**
     * Create a validator for text with minimum length
     */
    static minLength(minLength: number, fieldName?: string): (input: string) => boolean | string;
    /**
     * Create a validator for text with maximum length
     */
    static maxLength(maxLength: number, fieldName?: string): (input: string) => boolean | string;
    /**
     * Create a validator that combines multiple validators
     */
    static combine(...validators: Array<(input: string) => boolean | string>): (input: string) => boolean | string;
    /**
     * Create a validator for allowed values
     */
    static allowedValues(allowedValues: string[], caseSensitive?: boolean): (input: string) => boolean | string;
    /**
     * Create a validator for regex patterns
     */
    static pattern(pattern: RegExp, errorMessage: string): (input: string) => boolean | string;
    /**
     * Create a conditional validator
     */
    static conditional(condition: (input: string) => boolean, validator: (input: string) => boolean | string): (input: string) => boolean | string;
}
/**
 * Filter factory for inquirer prompts
 */
export declare class InquirerFilters {
    /**
     * Trim whitespace
     */
    static trim(): (input: string) => string;
    /**
     * Convert to lowercase
     */
    static toLowerCase(): (input: string) => string;
    /**
     * Convert to uppercase
     */
    static toUpperCase(): (input: string) => string;
    /**
     * Sanitize input using InputValidationService
     */
    static sanitize(): (input: string) => string;
    /**
     * Parse number
     */
    static parseNumber(): (input: string) => number;
    /**
     * Parse integer
     */
    static parseInt(): (input: string) => number;
    /**
     * Combine multiple filters
     */
    static combine(...filters: Array<(input: any) => any>): (input: any) => any;
}
/**
 * Common prompt configurations
 */
export declare class InquirerPrompts {
    /**
     * Create a project name prompt
     */
    static projectName(message?: string, defaultValue?: string): {
        type: "input";
        name: string;
        message: string;
        default: string | undefined;
        validate: (input: string) => boolean | string;
        filter: (input: string) => string;
    };
    /**
     * Create an API key prompt
     */
    static apiKey(provider: string, message?: string): {
        type: "password";
        name: string;
        message: string;
        validate: (input: string) => boolean | string;
        filter: (input: string) => string;
    };
    /**
     * Create a confirmation prompt
     */
    static confirm(message: string, defaultValue?: boolean): {
        type: "confirm";
        name: string;
        message: string;
        default: boolean;
    };
    /**
     * Create a list selection prompt
     */
    static list(name: string, message: string, choices: any[], defaultValue?: any): {
        type: "list";
        name: string;
        message: string;
        choices: any[];
        default: any;
        pageSize: number;
    };
    /**
     * Create a checkbox selection prompt
     */
    static checkbox(name: string, message: string, choices: any[]): {
        type: "checkbox";
        name: string;
        message: string;
        choices: any[];
        pageSize: number;
        validate: (answer: any[]) => true | "You must choose at least one option";
    };
    /**
     * Create a text input prompt
     */
    static input(name: string, message: string, required?: boolean, defaultValue?: string): {
        type: "input";
        name: string;
        message: string;
        default: string | undefined;
        validate: (input: string) => boolean | string;
        filter: (input: string) => string;
    };
    /**
     * Create a password input prompt
     */
    static password(name: string, message: string, minLength?: number): {
        type: "password";
        name: string;
        message: string;
        validate: (input: string) => boolean | string;
        filter: (input: string) => string;
    };
}
declare const _default: {
    InquirerValidators: typeof InquirerValidators;
    InquirerFilters: typeof InquirerFilters;
    InquirerPrompts: typeof InquirerPrompts;
};
export default _default;
//# sourceMappingURL=InquirerValidators.d.ts.map