export interface PackageName {
    id: number;
    name: string | null;
    title: string | null;
    image: string | null | File | any;
    v1_identifier: string | null;
    uuid: string;
    created_at: string;
    updated_at: string;
    cafe_config_id: number | null;
    myket_access_token: string | null;
    web_app_url: string | null;
    tries: number | null;
}

export interface CreatePackageData {
    name: string;
    title: string;
    avatar?: File | null;
    v1_identifier?: string | null;
    myket_access_token?: string | null;
    cafe_config_id?: number | null;
    web_app_url?: string | null;
    tries?: number;
    firebase_json?: File | null;
}

export interface UpdatePackageData {
    name?: string;
    title?: string;
    avatar?: File | null;
    v1_identifier?: string | null;
    myket_access_token?: string | null;
    cafe_config_id?: number | null;
    web_app_url?: string | null;
    tries?: number;
    firebase_json?: File | null;
    _method?: string; // For Laravel method spoofing
}

export interface ApiResponse<T> {
    data: T;
    message?: string;
    status?: number;
}