import type { AuctionFormImage } from '@/components/online-auctions/AuctionImageUploadFields.vue';
import type { MakeOption } from '@/components/online-auctions/CarAuctionFields.vue';
import type { PlateLookupOption } from '@/components/online-auctions/PlateAuctionFields.vue';
import type { AuctionFormat } from '@/enums/auctionFormat';
import type { EnquiryDetail } from '@/types/onlineAuctionEnquiry';

export type { AuctionFormat };

export interface AuctionEnquiryOption {
    id: number;
    category_label: string;
    label: string;
    category: string;
}

export interface AuctionFormLookups {
    backgrounds: PlateLookupOption[];
    characters: PlateLookupOption[];
    categories: PlateLookupOption[];
    vehicles: PlateLookupOption[];
    makes: MakeOption[];
}

export interface AuctionEditData {
    id: number;
    category: string;
    status: string;
    status_label: string;
    status_color: string;
    end_date_time: string | null;
    customer_name: string | null;
    customer_email: string | null;
    reserve_price: string;
    payment_methods: string;
    title: string;
    description: string;
    state: string;
    is_featured?: boolean;
    headline_time?: string;
    combination?: string;
    background_id?: number | null;
    characters_id?: number | null;
    category_id?: number | null;
    vehicle_id?: number | null;
    frame?: boolean;
    width?: string;
    display_state?: boolean;
    display_position?: string;
    category_heading?: string | null;
    specifications?: string | null;
    year?: number | null;
    make_id?: number | null;
    other_make?: string | null;
    model?: string | null;
    odometer_km?: number | null;
    body_type?: string | null;
    engine?: string | null;
    exterior_colour?: string | null;
    interior_colour?: string | null;
    doors?: number | null;
    transmission?: string | null;
    drive_side?: string | null;
    service_history?: string | null;
    car_inspection?: string | null;
    condition?: string | null;
    vehicle_history_report_id?: number | null;
    vehicle_history_report_name?: string | null;
    item_description?: string | null;
    item_specifications?: string | null;
    item_condition?: string | null;
    uploads: AuctionFormImage[];
    enquiry: EnquiryDetail | null;
    plate_image_url?: string | null;
}
