export interface Links { next_page: string | null; previous_page: string | null; } export interface Meta { total: number; per_page: number; current_page: number; last_page: number; } export interface ApiResponse { meta: Meta; links: Links; data: T[]; } export interface Atoll { id: number; islands: Island[]; name: string; createdAt: string; updatedAt: string; } export interface Island { id: number; name: string; createdAt: string; updatedAt: string; } export interface Device { id: number; name: string; mac: string; reason_for_blocking: string | null; has_a_pending_payment: boolean; pending_payment_id: string | null; is_active: boolean; registered: boolean; blocked: boolean; blocked_by: string; expiry_date: string | null; created_at: string; updated_at: string; user: number; } export interface Api400Error { data: { message: string; }; } export interface Payment { id: string; devices: Device[]; number_of_months: number; amount: number; paid: boolean; paid_at: string | null; method: string; expires_at: string | null; created_at: string; updated_at: string; user: number; } export interface NewPayment { device_ids: number[]; number_of_months: number; amount: number; }