export declare enum Courier { USPS = 1, FEDEX = 2, UPS = 3 } export interface PolicyAttributes { } export interface Participant { first_name: string; last_name: string; } export interface Organization { org_name: string; org_contact_email: string; org_contact_first_name?: string; org_contact_last_name?: string; org_contact_phone?: string; org_website?: string; org_city?: string; org_state?: string; org_postal_code?: string; org_country?: string; payment_plan?: boolean; registration_session_name?: string; } export interface RegistrationCancellationPolicyAttributes extends PolicyAttributes { event_start_date?: string; event_end_date?: string; insurable_amount?: number; participant?: Participant; organization?: Organization; } export interface SeasonInterruptionPolicyAttributes extends RegistrationCancellationPolicyAttributes { } export interface TicketRefundPolicyAttributes extends PolicyAttributes { event_start_date?: string; event_end_date?: string; insurable_amount?: number; } export interface ShippingInsurancePolicyAttributes extends PolicyAttributes { declared_value?: number; courier_id: Courier; tracking_number?: string; shipment_date?: string; } export interface GapMedicalPolicyAttributes extends PolicyAttributes { coverage_start_date: string; coverage_end_date: string; coverage_type: string; covered_person: { first_name: string; last_name: string; street: string; state: string; country?: string; birth_date: string; }; } export type PetInsurancePlan = "INJURY_AND_ILLNESS" | "INJURY_ONLY"; export interface PetInsurancePolicyAttributes extends PolicyAttributes { species?: 'CAT' | 'DOG'; breed_id?: string; age?: number; pet_name?: string; gender?: 'MALE' | 'FEMALE'; zip_code?: string; coverage_type?: PetInsurancePlan; annual_limit?: 5000 | 10000 | 25000 | 40000; deductible_amount?: 250 | 500; } export interface TravelInsurancePolicyAttributes extends PolicyAttributes { trip_cost?: number; trip_start_date?: string; trip_end_date?: string; origin: { state?: string; country?: string; }; destination_countries?: string[]; coverage_type?: 'BASIC' | 'COMPREHENSIVE' | 'COMPREHENSIVE_CFAR'; } export interface TuitionInsurancePolicyAttributes extends PolicyAttributes { university_name?: string; institution_type?: 'FOUR_YEAR' | 'TWO_YEAR' | 'FOR_PROFIT'; semester_start_date?: string; semester_end_date?: string; tuition_amount?: number; student: { name?: string; email?: string; birth_date?: string; zip_code?: string; state?: string; country?: string; }; }