export type CoordinateLicense = "SmartyStreets" | "SmartyStreets Proprietary" | (string & {}); export interface MatchInfo { status: string | undefined; change: string[] | undefined; } export interface UsStreetComponents { urbanization: string | undefined; primaryNumber: string | undefined; streetName: string | undefined; streetPredirection: string | undefined; streetPostdirection: string | undefined; streetSuffix: string | undefined; secondaryNumber: string | undefined; secondaryDesignator: string | undefined; extraSecondaryNumber: string | undefined; extraSecondaryDesignator: string | undefined; pmbDesignator: string | undefined; pmbNumber: string | undefined; cityName: string | undefined; defaultCityName: string | undefined; state: string | undefined; zipCode: string | undefined; plus4Code: string | undefined; deliveryPoint: string | undefined; deliveryPointCheckDigit: string | undefined; } export interface UsStreetMetadata { recordType: string | undefined; zipType: string | undefined; countyFips: string | undefined; countyName: string | undefined; carrierRoute: string | undefined; congressionalDistrict: string | undefined; buildingDefaultIndicator: string | undefined; rdi: string | undefined; elotSequence: string | undefined; elotSort: string | undefined; latitude: number | undefined; longitude: number | undefined; coordinateLicense: CoordinateLicense | undefined; precision: string | undefined; timeZone: string | undefined; utcOffset: number | undefined; obeysDst: boolean | undefined; ianaTimeZone: string | undefined; ianaUtcOffset: number | undefined; ianaDst: string | undefined; isEwsMatch: boolean | undefined; } export interface AnalysisComponents { primaryNumber: MatchInfo; streetPredirection: MatchInfo; streetName: MatchInfo; streetPostdirection: MatchInfo; streetSuffix: MatchInfo; secondaryNumber: MatchInfo; secondaryDesignator: MatchInfo; extraSecondaryNumber: MatchInfo; extraSecondaryDesignator: MatchInfo; cityName: MatchInfo; stateAbbreviation: MatchInfo; zipCode: MatchInfo; plus4Code: MatchInfo; urbanization: MatchInfo; } export interface UsStreetAnalysis { dpvMatchCode: string | undefined; dpvFootnotes: string | undefined; cmra: string | undefined; vacant: string | undefined; noStat: string | undefined; active: string | undefined; isEwsMatch: boolean | undefined; footnotes: string | undefined; lacsLinkCode: string | undefined; lacsLinkIndicator: string | undefined; isSuiteLinkMatch: boolean | undefined; enhancedMatch: string | undefined; components: AnalysisComponents; } interface RawUsStreetComponents { urbanization?: string; primary_number?: string; street_name?: string; street_predirection?: string; street_postdirection?: string; street_suffix?: string; secondary_number?: string; secondary_designator?: string; extra_secondary_number?: string; extra_secondary_designator?: string; pmb_designator?: string; pmb_number?: string; city_name?: string; default_city_name?: string; state_abbreviation?: string; zipcode?: string; plus4_code?: string; delivery_point?: string; delivery_point_check_digit?: string; } interface RawUsStreetMetadata { record_type?: string; zip_type?: string; county_fips?: string; county_name?: string; carrier_route?: string; congressional_district?: string; building_default_indicator?: string; rdi?: string; elot_sequence?: string; elot_sort?: string; latitude?: number; longitude?: number; coordinate_license?: number; precision?: string; time_zone?: string; utc_offset?: number; dst?: boolean; iana_time_zone?: string; iana_utc_offset?: number; iana_dst?: string; ews_match?: boolean; } interface RawMatchInfo { status?: string; change?: string[]; } interface RawUsStreetAnalysisComponents { primary_number?: RawMatchInfo; street_predirection?: RawMatchInfo; street_name?: RawMatchInfo; street_postdirection?: RawMatchInfo; street_suffix?: RawMatchInfo; secondary_number?: RawMatchInfo; secondary_designator?: RawMatchInfo; extra_secondary_number?: RawMatchInfo; extra_secondary_designator?: RawMatchInfo; city_name?: RawMatchInfo; state_abbreviation?: RawMatchInfo; zipcode?: RawMatchInfo; plus4_code?: RawMatchInfo; urbanization?: RawMatchInfo; } interface RawUsStreetAnalysis { dpv_match_code?: string; dpv_footnotes?: string; dpv_cmra?: string; dpv_vacant?: string; dpv_no_stat?: string; active?: string; ews_match?: boolean; footnotes?: string; lacslink_code?: string; lacslink_indicator?: string; suitelink_match?: boolean; enhanced_match?: string; components?: RawUsStreetAnalysisComponents; } export interface RawUsStreetCandidate { input_id?: string; input_index?: number; candidate_index?: number; addressee?: string; delivery_line_1?: string; delivery_line_2?: string; last_line?: string; delivery_point_barcode?: string; smarty_key?: string; smarty_key_ext?: string; components?: RawUsStreetComponents; metadata?: RawUsStreetMetadata; analysis?: RawUsStreetAnalysis; } export default class Candidate { inputId: string; inputIndex: number; candidateIndex: number; addressee: string; deliveryLine1: string; deliveryLine2: string; lastLine: string; deliveryPointBarcode: string; smartyKey: string; smartyKeyExt: string; components: UsStreetComponents; metadata: UsStreetMetadata; analysis: UsStreetAnalysis; constructor(responseData: RawUsStreetCandidate); } export {};