import { BaseGetDTO, TypedFilter, TypedOptions } from "../../../../global";
import { Range } from "../../../../core";
export declare class LeadPreferencesDTO {
    id?: string;
    budgetMin?: number;
    budgetMax?: number;
    preferredMake?: string;
    preferredModel?: string;
    preferredYearMin?: number;
    preferredYearMax?: number;
    mileageMin?: number;
    mileageMax?: number;
    preferredColors?: string[];
    preferredFeatures?: string[];
    additionalPreferences?: string;
    validate(): string[];
    static fromPlain(plain: Record<string, unknown>): LeadPreferencesDTO;
    toPlain(): Record<string, unknown>;
}
export declare class LeadPreferencesUpdateDTO {
    budgetMin?: number;
    budgetMax?: number;
    preferredMake?: string;
    preferredModel?: string;
    preferredYearMin?: number;
    preferredYearMax?: number;
    mileageMin?: number;
    mileageMax?: number;
    preferredColors?: string[];
    preferredFeatures?: string[];
    additionalPreferences?: string;
    validate(): string[];
    static fromPlain(plain: Record<string, unknown>): LeadPreferencesUpdateDTO;
    toPlain(): Record<string, unknown>;
}
export declare class LeadPreferencesCreateDTO {
    budgetMin?: number;
    budgetMax?: number;
    preferredMake?: string;
    preferredModel?: string;
    preferredYearMin?: number;
    preferredYearMax?: number;
    mileageMin?: number;
    mileageMax?: number;
    preferredColors?: string[];
    preferredFeatures?: string[];
    additionalPreferences?: string;
    validate(): string[];
    static fromPlain(plain: Record<string, unknown>): LeadPreferencesCreateDTO;
    toPlain(): Record<string, unknown>;
}
export declare class LeadPreferencesFilter extends TypedFilter {
    id?: string | string[];
    budgetRange?: Range;
    make?: string;
    model?: string;
    yearRange?: Range;
    mileageRange?: Range;
    colors?: string[];
    features?: string[];
    search?: string;
    fromDate?: Date;
    toDate?: Date;
}
export declare class LeadPreferencesGetDTO extends BaseGetDTO<LeadPreferencesDTO, LeadPreferencesFilter> {
    filters?: LeadPreferencesFilter;
    options?: TypedOptions<LeadPreferencesDTO>;
}
