export interface EligibilityApiResponseEligibilityRequest {
    controlNumber?: string;
    tradingPartnerServiceId?: string;
    provider?: ProviderDto;
    subscriber?: SubscriberDto;
}
export interface PayerDetails {
    payer_name?: string;
    address?: Address;
}
export interface Address {
    address1?: string;
    address2?: string;
    city?: string;
    state?: string;
    postalCode?: string;
    countryCode?: string;
    locationIdentifier?: string;
    countrySubDivisionCode?: string;
}
export interface PlanDetails {
    plan_number?: string;
    group_name?: string;
    group_number?: string;
    plan_start_date?: string;
    plan_eligibility_start_date?: string;
    plan_name?: string;
    plan_active?: boolean;
}
export interface Service {
    co_insurance_in_network?: CoInsurance;
    co_payment_in_network?: CoPayment;
    service_code?: string;
}
interface ServiceClass {
    coInsuranceInNetwork?: CoInsurance;
    coPaymentInNetwork?: CoPayment;
    serviceCode?: string;
}
export interface CoInsurance {
    amount?: string;
}
export interface CoPayment {
    amount?: string;
}
export interface CoverageSummary {
    individual_deductible_in_network?: Deductible;
    individual_oop_in_network?: OOP;
    family_deductible_in_network?: Deductible;
    family_oop_in_network?: OOP;
}
export interface Deductible {
    total_amount?: string;
    remaining_amount?: string;
}
export interface OOP {
    total_amount?: string;
    remaining_amount?: string;
}
export interface EligibilityInfo {
    provider: ProviderDto;
    subscriber: SubscriberDto;
}
export type ProviderDto = IndividualProvider | OrganizationProvider;
interface IndividualProvider {
    firstName: string;
    lastName: string;
    organizationName?: never;
    npi: string;
}
interface OrganizationProvider {
    firstName?: never;
    lastName?: never;
    organizationName: string;
    npi: string;
}
export interface SubscriberDto {
    firstName: string;
    lastName: string;
    dateOfBirth: string;
}
export interface EligibilityApiResponse {
    eligibility_id: string;
    state: string;
    card_id: string;
    created_at: string;
    update_at: string;
    eligibility_request?: EligibilityApiResponseEligibilityRequest;
    eligibility_response?: Response;
    eligibility_summarized_response?: EligibilitySummarizedResponse;
}
export interface EligibilitySummarizedResponse {
    eligibility_request_id?: string;
    subscriber_details?: SubscriberDetails;
    payer_details?: PayerDetails;
    plan_details?: PlanDetails;
    coverage_summary?: CoverageSummary;
    chiropractic?: Service;
    emergency_room?: Service;
    office_visit?: Service;
    urgent_care?: Service;
    hospital_outpatient?: Service;
}
export interface SubscriberDetails {
    member_id?: string;
    firstname?: string;
    lastname?: string;
    middlename?: string;
    gender?: string;
    address?: Address;
    dob?: string;
}
export default class Eligibility {
    eligibilityId: string;
    state: string;
    cardId: string;
    createdAt: string;
    updateAt: string;
    eligibilityRequest?: EligibilityApiResponseEligibilityRequest;
    eligibilityResponse?: Response;
    eligibilitySummarizedResponse?: {
        eligibilityRequestId?: string;
        subscriberDetails?: {
            memberId?: string;
            firstName?: string;
            lastName?: string;
            middleName?: string;
            gender?: string;
            dob?: string;
            address?: Address;
        };
        payerDetails?: {
            payerName?: string;
            address?: Address;
        };
        planDetails?: {
            planNumber?: string;
            groupName?: string;
            groupNumber?: string;
            planStartDate?: string;
            planEligibilityStartDate?: string;
            planName?: string;
            planActive?: boolean;
        };
        coverageSummary?: {
            individualDeductibleInNetwork?: {
                totalAmount?: string;
                remainingAmount?: string;
            };
            individualOOPInNetwork?: {
                totalAmount?: string;
                remainingAmount?: string;
            };
            familyDeductibleInNetwork?: {
                totalAmount?: string;
                remainingAmount?: string;
            };
            familyOOPInNetwork?: {
                totalAmount?: string;
                remainingAmount?: string;
            };
        };
        chiropractic?: ServiceClass;
        emergencyRoom?: ServiceClass;
        officeVisit?: ServiceClass;
        urgentCare?: ServiceClass;
        hospitalOutpatient?: ServiceClass;
    };
    constructor(params: EligibilityApiResponse);
    private mapService;
}
export {};
