/**
 * @author Roman Vottner
 * @copyright 2020 Roman Vottner
 * @license Apache-2.0
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import type { ResultType } from './reader';
import type { ComponentValue } from './validator';
export declare function sanitizeFloat(str: string, decimalSymbol: string): number;
export interface Segment {
    tag: string;
}
export declare function toSegmentObject(data: ResultType, version: string, decimalSeparator: string): Segment;
export interface AdjustmentDetails {
    tag: string;
    adjustmentReasonDescriptionCode: ComponentValue;
    lineItemIdentifier: string | undefined;
}
interface AllowanceOrChargeInformation {
    allowanceOrChargeIdentifier: string | undefined;
    allowanceOrChargeIdentificationCode: ComponentValue | undefined;
}
interface SpecialServicesIdentification {
    specialServiceDescriptionCode: ComponentValue | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    specialServiceDescription: string | undefined;
    specialServiceDescription2: string | undefined;
}
export interface AllowanceOrCharge {
    tag: string;
    allowanceOrChargeCodeQualifier: ComponentValue;
    allowanceOrChargeInformation: AllowanceOrChargeInformation | undefined;
    settlementMeansCode: ComponentValue | undefined;
    calculationSequenceCode: ComponentValue | undefined;
    specialServicesIdentification: SpecialServicesIdentification | undefined;
}
export interface AdditionalInformation {
    tag: string;
    countryOfOriginIdentifier: string | undefined;
    dutyRegimeTypeCode: ComponentValue | undefined;
    specialConditionCode: string | undefined;
    specialConditionCode2: string | undefined;
    specialConditionCode3: string | undefined;
    specialConditionCode4: string | undefined;
    specialConditionCode5: string | undefined;
}
interface PriceMultiplierInformation {
    priceMuliplierRate: number;
    priceMuliplierTypeCodeQualifier: ComponentValue | undefined;
}
interface ReasonForChange {
    changeReasonDescriptionCode: ComponentValue | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCoe: string | undefined;
    changeReasonDescription: string | undefined;
}
export interface AdditionalPriceInformation {
    tag: string;
    tradeClassCode: ComponentValue | undefined;
    priceMultiplierInformation: PriceMultiplierInformation | undefined;
    reasonForChange: ReasonForChange | undefined;
}
interface MonetaryAmountFunctionData {
    monetaryAmountFunctionDescriptionCode: ComponentValue | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    monetaryAmountFunctionDescription: string | undefined;
}
interface MonetaryAmountFunctionDetail {
    monetaryAmountFunctionDetailDescriptionCode: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    monetaryAmountFunctionDetailDescription: string | undefined;
}
export interface MonetaryAmountFunction {
    tag: string;
    monetaryAmountFunction: MonetaryAmountFunctionData | undefined;
    monetaryAmountFunctionDetail: MonetaryAmountFunctionDetail | undefined;
}
export interface AuthenticationResult {
    tag: string;
    validationResultText: string;
    validationKeyIdentifier: string | undefined;
}
interface MessageName {
    documentNameCode: ComponentValue | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    documentName: string | undefined;
}
interface MessageIdentification {
    documentIdentifier: string | undefined;
    versionIdentifier: string | undefined;
    revisionIdentifier: string | undefined;
}
export interface BeginOfMessage {
    tag: string;
    documentMessageName: MessageName | undefined;
    documentMessageIdentification: string | undefined;
    messageFunctionCode: ComponentValue | undefined;
    responseTypeCode: ComponentValue | undefined;
    documentStatusCode: ComponentValue | undefined;
    languageNameCode: string | undefined;
}
interface BusinessFunctionData {
    businessFunctionTypeCodeQualifier: ComponentValue;
    businessFunctionCode: ComponentValue;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    businessDescription: string | undefined;
}
interface BankOperation {
    bankOperationCode: ComponentValue;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
}
export interface BusinessFunction {
    tag: string;
    businessFunction: BusinessFunctionData | undefined;
    geographicAreaCode: ComponentValue | undefined;
    financialTransactionTypeCode: ComponentValue | undefined;
    bankOperation: BankOperation | undefined;
    intraCompanyPaymentIndicatorCode: ComponentValue | undefined;
}
interface CharacteristicValueData {
    characteristicValueDescriptionCode: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    characteristicValueDescription: string | undefined;
    characteristicValueDescription2: string | undefined;
}
export interface CharacteristicValue {
    tag: string;
    characteristicValue: CharacteristicValueData;
}
interface CharacteristicDescription {
    characteristicDescriptionCode: string;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    characteristicDescription: string | undefined;
    characteristicDescription2: string | undefined;
}
export interface CharacteristicinterfaceID {
    tag: string;
    classTypeCode: ComponentValue | undefined;
    measurementDetails: ComponentValue | undefined;
    characteristicDescription: CharacteristicDescription | undefined;
    characteristicRelevanceCode: ComponentValue | undefined;
}
interface ComputerEnviornmentIdentification {
    computerEnvironmentDetailsCodeQualifier: ComponentValue | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    computerEnvironmentName: string | undefined;
    versionIdentifier: string | undefined;
    releaseIdentifier: string | undefined;
    objectIdentifier: string | undefined;
}
export interface ComputerEnvironmentDetails {
    tag: string;
    computerEnvironmentDetailsCodeQualifier: ComponentValue;
    computerEnviornmentIdentification: ComputerEnviornmentIdentification;
    fileGenerationCommandName: string | undefined;
}
interface Control {
    controlTotalTypeCodeQualifier: ComponentValue;
    controlTotalValue: number;
    measurementUnitCode: string | undefined;
}
export interface ControlTotal {
    tag: string;
    control: Control;
}
interface TypeOfUnit {
    unitOrComponentTypeDescriptionCode: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    unitOrComponentTypeDescription: string | undefined;
}
interface ComponentMaterial {
    componentMaterialDescriptionCode: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    componentMaterialDescription: string | undefined;
}
export interface ComponentDetails {
    tag: string;
    typeOfUnit: TypeOfUnit | undefined;
    componentMaterial: ComponentMaterial | undefined;
}
interface CommunicationContactData {
    communicationAddressIdentifier: string;
    communicationAddressCodeQualifier: ComponentValue;
}
export interface CommunicationContact {
    tag: string;
    communicationContact: CommunicationContactData;
}
export interface ConsignmentPackingSequence {
    tag: string;
    hierarchicalStructureLevelIdentifier: string;
    hierarchicalStructureParentIdentifier: string | undefined;
    packagingLevelCode: ComponentValue | undefined;
}
interface DepartmentOrEmployeeDetails {
    departmentOrEmployeeNameCode: string | undefined;
    departmentOrEmployeeName: string | undefined;
}
export interface ContactInformation {
    tag: string;
    contactFunctionCode: ComponentValue | undefined;
    departmentOrEmployeeDetails: DepartmentOrEmployeeDetails | undefined;
}
interface CurrencyDetails {
    currencyUsageCodeQualifier: ComponentValue;
    currencyIdentificationCode: string | undefined;
    currencyTypeCodeQualifier: ComponentValue | undefined;
    currencyRate: number | undefined;
}
export interface Currencies {
    tag: string;
    currencyDetails: CurrencyDetails | undefined;
    currencyDetails2: CurrencyDetails | undefined;
    currencyExchangeRate: number | undefined;
    exchangeRateCurrencyMarketIdentifier: string | undefined;
}
interface HazardCode {
    hazardIdentificationCode: string;
    additionalHazardinterfaceificationIdentifier: string | undefined;
    hazardCodeVersionIdentifier: string | undefined;
}
interface UnitedNationsDagneoursGoodsInformation {
    unitedNationsangerousGoodsIdentifier: number | undefined;
    dangerousGoodsFlashpointValue: string | undefined;
}
interface DangerousGoodsShipmentFlashpoint {
    shipmentFlashpointValue: number | undefined;
    measurementUnitCode: string | undefined;
}
interface HazardIdentificationPlacardDetails {
    orangeHazardPlacardUpperPardIdentifier: string | undefined;
    orangeHazardPlacardLowerPartIdentifier: string | undefined;
}
interface DangerousGoodsLabel {
    dangerousGoodsMarkingIdentifier: string | undefined;
    dangerousGoodsMarkingIdentifier2: string | undefined;
    dangerousGoodsMarkingIdentifier3: string | undefined;
}
export interface DangerousGoods {
    tag: string;
    dangerousGoodsRegulationsCode: ComponentValue;
    hazardCode: HazardCode | undefined;
    undgInformation: UnitedNationsDagneoursGoodsInformation | undefined;
    dangerousGoodsShipmentFlashpoint: DangerousGoodsShipmentFlashpoint | undefined;
    packagingDangerLevelCode: ComponentValue | undefined;
    emergencyProcedureForShipsIdentifier: string | undefined;
    hazardMedicalFirstAidGuideIdentifier: string | undefined;
    transportEmergencyCardIdentifier: string | undefined;
    hazardIdentificationPlacardDetails: HazardIdentificationPlacardDetails | undefined;
    dangerousGoodsLabel: DangerousGoodsLabel | undefined;
    packingInstructionTypeCode: string | undefined;
    hazardousMeansOfTransportCategoryCode: ComponentValue | undefined;
    hazardousCargoTransportAuthorizationCode: string | undefined;
}
export interface DeliveryLimitations {
    tag: string;
    backOrderArrangementTypeCode: ComponentValue | undefined;
    instruction: Instruction | undefined;
    specialServicesIdentification: SpecialServicesIdentification | undefined;
    substitutionConditionCode: ComponentValue | undefined;
}
export interface MessageSummary {
    tag: string;
    messageIdentification: MessageIdentification | undefined;
    messageName: MessageName | undefined;
    itemTotalQuantity: number | undefined;
}
interface MessageDetailsData {
    documentIdentifer: string | undefined;
    documentStatusCode: ComponentValue | undefined;
    documentSourceDescription: string | undefined;
    languageNameCode: string | undefined;
    versionIdentifier: string | undefined;
    revisionIdentifier: string | undefined;
}
export interface MessageDetails {
    tag: string;
    messageName: MessageName;
    messageDetails: MessageDetailsData | undefined;
    communicationMediumTypeCode: ComponentValue | undefined;
    documentCopiesRequiredQuantity: number | undefined;
    doucmentOriginalsRequiredQuantity: number | undefined;
}
interface DateTimePeriodData {
    dateOrTimeOrPeriodFunctionCodeQualifier: ComponentValue;
    dateOrTimeOrPeriodText: string | undefined;
    dateOrTimeOrPeriodFormatCode: ComponentValue | undefined;
}
export interface DateTimePeriod {
    tag: string;
    dateTimePeriod: DateTimePeriodData;
}
interface FileIdentification {
    fileName: string | undefined;
    itemDescription: string | undefined;
}
interface FileDetails {
    fileFormatName: string;
    versionIdentifier: string | undefined;
    dataFormatDescriptionCode: string | undefined;
    dataFormatDescription: string | undefined;
}
export interface ExternalFileLinkIdentification {
    tag: string;
    fileIdentification: FileIdentification;
    fileDetails: FileDetails | undefined;
    sequencePositionIdentifier: string | undefined;
    fileCompressionTechniqueName: string | undefined;
}
export interface AttachedEquipment {
    tag: string;
    equipmentTypeCodeQualifier: ComponentValue;
    equipmentIdentification: EquipmentIdentification | undefined;
}
interface EquipmentIdentification {
    equipmentIdentifier: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    countryNameCode: string | undefined;
}
interface EquipmentSizeAndType {
    equipmentSizeAndTypeDescriptionCode: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    equipmentSizeAndTypeDescription: string | undefined;
}
export interface EquipmentDetails {
    tag: string;
    equipmentTypeCodeQualifier: ComponentValue;
    equipmentIdentification: EquipmentIdentification | undefined;
    equipmentSizeAndType: EquipmentSizeAndType | undefined;
    equipmentSupplierCode: ComponentValue | undefined;
    equipmentStatusCode: ComponentValue | undefined;
    fullOrEmptyIndicatorCode: ComponentValue | undefined;
}
interface ApplicationErrorDetail {
    applicationErrorCode: string;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
}
export interface ApplicationErrorInformation {
    tag: string;
    applicationErrorDetail: ApplicationErrorDetail;
}
interface AccountHolderIdentification {
    accountHolderIdentifier: string | undefined;
    accountHolderName: string | undefined;
    accountHolderName2: string | undefined;
    currencyIdentificationCode: string | undefined;
}
interface InstitutionIdentification {
    institutionNameCode: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    institutionBranchIdentifier: string | undefined;
    codeListIdentificationCode2: string | undefined;
    codeListResponsibleAgencyCode2: string | undefined;
    institutionName: string | undefined;
    institutionBranchLocationName: string | undefined;
}
export interface FinancialInstitutionInformation {
    tag: string;
    partyFunctionCodeQualifier: ComponentValue;
    accountHolderIdentification: AccountHolderIdentification | undefined;
    institutionIdentification: InstitutionIdentification | undefined;
    countryNameCode: string | undefined;
}
interface TextReference {
    freeTextValueCode: string;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
}
interface TextLiteral {
    freeTextValue: string;
    freeTextValue2: string | undefined;
    freeTextValue3: string | undefined;
    freeTextValue4: string | undefined;
    freeTextValue5: string | undefined;
}
export interface FreeText {
    tag: string;
    textSubjectCodeQualifier: ComponentValue;
    freeTextFunctionCode: ComponentValue | undefined;
    textReference: TextReference | undefined;
    textLiteral: TextLiteral | undefined;
    languageNameCode: string | undefined;
    freeTextFormatCode: ComponentValue | undefined;
}
interface ProcessingIndicator {
    processingIndicatorDescriptionCode: string;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    processTypeDescriptionCode: string | undefined;
}
export interface ProcessingInformation {
    tag: string;
    processingInformationCodeQualifier: ComponentValue;
    processingIndicator: ProcessingIndicator | undefined;
    processTypeDescriptionCode: string | undefined;
}
interface IdentityNumberRange {
    objectIdentifier: string;
    objectIdentifier2: string | undefined;
}
export interface GoodsIdentityNumber {
    tag: string;
    objectIdentificationCodeQualifier: ComponentValue;
    identityNumberRange: IdentityNumberRange;
    identityNumberRange2: IdentityNumberRange | undefined;
    identityNumberRange3: IdentityNumberRange | undefined;
    identityNumberRange4: IdentityNumberRange | undefined;
    identityNumberRange5: IdentityNumberRange | undefined;
}
interface IdentificationNumber {
    objectIdentifier: string;
    objectIdentificationCodeQualifier: ComponentValue | undefined;
    statusDescriptionCode: string | undefined;
}
export interface RelatedInformationNumbers {
    tag: string;
    setTypeCodeQualifier: ComponentValue;
    identificationNumber: IdentificationNumber;
    identificationNumber2: IdentificationNumber | undefined;
    identificationNumber3: IdentificationNumber | undefined;
    identificationNumber4: IdentificationNumber | undefined;
    identificationNumber5: IdentificationNumber | undefined;
}
export interface GeneralIndicator {
    tag: string;
    processingIndicator: ProcessingIndicator;
}
interface HandlingInstructionsData {
    handlingInstructionDescriptionCode: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    handlingInstructionDescription: string | undefined;
}
interface HazardousMaterial {
    hazardousMaterialCategoryNameCode: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    hazardousMaterialCategoryName: string | undefined;
}
export interface HandlingInstructions {
    tag: string;
    handlingInstructions: HandlingInstructionsData | undefined;
    hazardousMaterial: HazardousMaterial | undefined;
}
export interface HierarchyInformation {
    tag: string;
    hierarchyObjectCodeQualifier: ComponentValue;
    hierarchicalStructureRelationshipCode: ComponentValue | undefined;
    actionCode: ComponentValue | undefined;
    itemNumberIdentification: ItemNumberIdentification | undefined;
    hierarchicalStructureParentIdentifier: string | undefined;
}
interface PositionIdentification {
    hierarchicalStructureLevelIdentifier: string | undefined;
    sequencePositionIdentifier: string | undefined;
}
export interface Identity {
    tag: string;
    objectTypeCodeQualifier: ComponentValue;
    identificationNumber: IdentificationNumber | undefined;
    partyIdentificationDetails: PartyIdentificationDetails | undefined;
    statusDescriptionCode: string | undefined;
    configurationLevelNumber: number | undefined;
    positionIdentification: PositionIdentification | undefined;
    characteristicDescription: CharacteristicDescription | undefined;
}
interface ItemCharacteristic {
    itemCharacteristicCode: ComponentValue | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
}
interface ItemDescriptionData {
    itemDescriptionCode: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    itemDescription: string | undefined;
    itemDescription2: string | undefined;
    languageNameCode: string | undefined;
}
export interface ItemDescription {
    tag: string;
    descriptionFormatCode: ComponentValue | undefined;
    itemCharacteristic: ItemCharacteristic | undefined;
    itemDescription: ItemDescriptionData | undefined;
    surfaceOrLayerCode: ComponentValue | undefined;
}
interface PartiesToInstruction {
    enactingPartyIdentifier: string;
    instructionReceivingPartyIdentifier: string | undefined;
}
interface Instruction {
    instructionTypeCodeQualifier: ComponentValue;
    instructionDescriptionCode: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    instructionDescription: string | undefined;
}
interface StatusOfInstruction {
    statusDescriptionCode: string;
    partyName: string | undefined;
}
export interface PartiesAndInstruction {
    tag: string;
    partiesToInstruction: PartiesToInstruction | undefined;
    instruction: Instruction | undefined;
    statusOfInstruction: StatusOfInstruction | undefined;
    actionRequestNotificationDescriptionCode: string | undefined;
}
interface InformationRequest {
    requestInformationDescriptionCode: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    requestInformationDescription: string | undefined;
}
export interface InformationRequired {
    tag: string;
    informationRequest: InformationRequest;
}
interface ItemNumberIdentification {
    itemIdentifier: string | undefined;
    itemTypeIdentificationCode: ComponentValue | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
}
interface SubLineInformation {
    subLineIndicatorCode: ComponentValue | undefined;
    lineItemIdentifier: string | undefined;
}
export interface LineItem {
    tag: string;
    lineItemIdendifier: string | undefined;
    actionRequestNotificationDescriptionCode: string | undefined;
    itemNumberIdentification: ItemNumberIdentification | undefined;
    subLineInformatin: SubLineInformation | undefined;
    configurationLevelNumber: number | undefined;
    configurationOperationCode: ComponentValue | undefined;
}
interface LocationIdentificationData {
    locationNameCode: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    locationName: string | undefined;
}
interface RelatedLocationOneIdentification {
    firstRelatedLocationNameCode: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    firstRelatedLocationName: string | undefined;
}
interface RelatedLocationTwoIdentification {
    secondRelatedLocationNameCode: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    secondRelatedLocationName: string | undefined;
}
export interface LocationIdentification {
    tag: string;
    locationFunctionCodeQualifier: ComponentValue;
    locationIdentification: LocationIdentificationData | undefined;
    relatedLocationOneIdentification: RelatedLocationOneIdentification | undefined;
    relatedLocationTwoIdentification: RelatedLocationTwoIdentification | undefined;
    relationCode: string | undefined;
}
interface MeasurementDetails {
    measuredAttributeCode: ComponentValue | undefined;
    measurementSignificanceCode: ComponentValue | undefined;
    nonDiscreteMeasurementNameCode: string | undefined;
    nonDiscreteMeasurementName: string | undefined;
}
interface ValueRange {
    measurementUnitCode: string | undefined;
    measure: string | undefined;
    rangeMinimumQuantity: number | undefined;
    rangeMaximumQuantity: number | undefined;
    significantDigitsQuantity: number | undefined;
}
export interface Measurements {
    tag: string;
    measurementPurposeCodeQualifier: ComponentValue;
    measurementDetails: MeasurementDetails | undefined;
    valueRange: ValueRange | undefined;
    surfaceOrLayerCode: ComponentValue | undefined;
}
interface MarketSalesChannelDetails {
    salesChannelIdentifier: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
}
export interface MarketSalesChannelInformation {
    tag: string;
    marketSaleChannelIdentificationCodeQualifier: ComponentValue | undefined;
    marketSaleChannelSalesDetails: MarketSalesChannelDetails | undefined;
    marketSaleChannelActionRequestNotificationDescriptionCode: string | undefined;
}
interface MonetaryAmountData {
    monetaryAmountTypeCodeQualifier: ComponentValue;
    monetaryAmount: number | undefined;
    currencyIdentificationCode: string | undefined;
    currencyTypeCodeQualifier: ComponentValue | undefined;
    statusDescriptionCode: string | undefined;
}
export interface MonetaryAmount {
    tag: string;
    monetaryAmount: MonetaryAmountData;
}
export interface MaintenanceOperationDetails {
    tag: string;
    objectTypeCodeQualifier: ComponentValue;
    maintenanceOperationCode: ComponentValue | undefined;
    maintenanceOperationOperatorCode: ComponentValue | undefined;
    maintenanceOperationPayerCode: ComponentValue | undefined;
}
interface PartyIdentificationDetails {
    partyIdentifier: string;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
}
interface NameAndAddressData {
    nameAndAddressDescription: string;
    nameAndAddressDescription2: string | undefined;
    nameAndAddressDescription3: string | undefined;
    nameAndAddressDescription4: string | undefined;
    nameAndAddressDescription5: string | undefined;
}
interface PartyName {
    partyName: string;
    partyName2: string | undefined;
    partyName3: string | undefined;
    partyName4: string | undefined;
    partyName5: string | undefined;
    partyNameFormatCode: ComponentValue | undefined;
}
interface Street {
    streetAndNumberOrPostOfficeBoxIdentifier: string;
    streetAndNumberOrPostOfficeBoxIdentifier2: string | undefined;
    streetAndNumberOrPostOfficeBoxIdentifier3: string | undefined;
    streetAndNumberOrPostOfficeBoxIdentifier4: string | undefined;
}
interface CountrySubEntityDetails {
    countrySubEntityNameCode: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    countrySubEntityName: string | undefined;
}
export interface NameAndAddress {
    tag: string;
    partyFunctionCodeQualifier: ComponentValue;
    partyIdentificationDetails: PartyIdentificationDetails | undefined;
    nameAndAddress: NameAndAddressData | undefined;
    partyName: PartyName | undefined;
    street: Street | undefined;
    cityName: string | undefined;
    countrySubEntityDetails: CountrySubEntityDetails | undefined;
    postalIdentificationCode: string | undefined;
    countryNameCode: string | undefined;
}
interface PackagingDetails {
    packagingLevelCode: ComponentValue | undefined;
    packagingRelatedDescriptionCode: ComponentValue | undefined;
    packagingTermsAndConditionsCode: ComponentValue | undefined;
}
interface PackageType {
    packageTypeDescriptionCode: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    typeOfPackages: string | undefined;
}
interface PackageTypeIdentification {
    descriptionFormatCode: ComponentValue;
    typeOfPackages: string;
    itemTypeIdentificationCode: ComponentValue | undefined;
    typeOfPackages2: string | undefined;
    itemTypeIdentificationCode2: string | undefined;
}
interface ReturnablePackageDetails {
    returnablePackageFreightPaymentResponsibilityCode: ComponentValue | undefined;
    returnablePackageLoadContentsCode: ComponentValue | undefined;
}
export interface Package {
    tag: string;
    packageQuantity: number | undefined;
    packagingDetails: PackagingDetails | undefined;
    packageType: PackageType | undefined;
    packageTypeIdentification: PackageTypeIdentification | undefined;
    returnablePackageDetails: ReturnablePackageDetails | undefined;
}
export interface PaymentInstructions {
    tag: string;
    paymendConditionsCode: ComponentValue | undefined;
    paymentGuaranteeMeansCode: ComponentValue | undefined;
    paymentMeansCode: ComponentValue | undefined;
    codeListIdentificatinCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    paymentChannelCode: ComponentValue | undefined;
}
interface PATPaymentTerms {
    paymentTermsDescriptionIdentifier: string;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    paymentTermsDescription: string | undefined;
    paymentTermsDescription2: string | undefined;
}
interface TermsTimeInformation {
    timeReferenceCode: ComponentValue;
    termsTimeRelationCode: ComponentValue | undefined;
    periodTypeCode: ComponentValue | undefined;
    periodCountQuality: number | undefined;
}
export interface PaymentTermsBasis {
    tag: string;
    paymentTermsTypeCodeQualifier: ComponentValue;
    paymentTerms: PATPaymentTerms | undefined;
    termsTimeInformation: TermsTimeInformation | undefined;
}
interface PercentageDetailsData {
    percentageTypeCodeQualifier: ComponentValue;
    percentage: number | undefined;
    percentageBasisIdentificationCode: ComponentValue | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
}
export interface PercentageDetails {
    tag: string;
    percentageDetails: PercentageDetailsData;
    statusDescriptionCode: string | undefined;
}
interface MarksAndLabels {
    shippingMarksDescription: string;
    shippingMarksDescription2: string | undefined;
    shippingMarksDescription3: string | undefined;
    shippingMarksDescription4: string | undefined;
    shippingMarksDescription5: string | undefined;
    shippingMarksDescription6: string | undefined;
    shippingMarksDescription7: string | undefined;
    shippingMarksDescription8: string | undefined;
    shippingMarksDescription9: string | undefined;
    shippingMarksDescription10: string | undefined;
}
interface TypeOfMarking {
    markingTypeCode: ComponentValue;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
}
export interface PackageIdentification {
    tag: string;
    markingInstructionCode: ComponentValue | undefined;
    marksAndLabels: MarksAndLabels | undefined;
    containerOrPackageContentsIndicatorCode: ComponentValue | undefined;
    typeOfMarking: TypeOfMarking | undefined;
}
interface ProductGroup {
    productGroupNameCode: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    productGroupName: string | undefined;
}
export interface ProductGroupInformation {
    tag: string;
    productGroupTypeCode: ComponentValue;
    productGroup: ProductGroup | undefined;
}
export interface AdditionalProductId {
    tag: string;
    productIdentifierCodeQualifier: ComponentValue;
    itemNumberIdentification: ItemNumberIdentification;
    itemNumberIdentification2: ItemNumberIdentification | undefined;
    itemNumberIdentification3: ItemNumberIdentification | undefined;
    itemNumberIdentification4: ItemNumberIdentification | undefined;
    itemNumberIdentification5: ItemNumberIdentification | undefined;
}
interface PriceInformation {
    priceCodeQualifier: ComponentValue;
    priceAmount: number | undefined;
    priceTypeCode: ComponentValue | undefined;
    priceSpecificationCode: ComponentValue | undefined;
    unitPriceBasisValue: number | undefined;
    measurementUnitCode: string | undefined;
}
export interface PriceDetails {
    tag: string;
    priceInformation: PriceInformation | undefined;
    subLineItemPriceChangeOperationCode: ComponentValue | undefined;
}
interface PaymentTermsData {
    paymentTermsDescriptionIdentifier: string;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    paymentTermsDescription: string | undefined;
}
export interface PaymentTerms {
    tag: string;
    paymentTermsTypeCodeQualifier: ComponentValue;
    paymentTerms: PaymentTermsData | undefined;
    timeReferenceCode: ComponentValue | undefined;
    termsTimeRelationCode: ComponentValue | undefined;
    periodTypeCode: ComponentValue | undefined;
    periodCountQuantity: number | undefined;
}
interface QuantityDetails {
    quantityTypeCodeQualifier: ComponentValue;
    quantity: number | undefined;
    measurementUnitCode: string | undefined;
}
export interface Quantity {
    tag: string;
    quantityDetails: QuantityDetails;
}
interface QuantityDifferenceInformation {
    varianceQuantity: number;
    quantityTypeCodeQualifier: ComponentValue | undefined;
}
export interface QuantityVariances {
    tag: string;
    quantityDifferenceInformation: QuantityDifferenceInformation | undefined;
    discrepancyNatureIdentificationCode: ComponentValue | undefined;
    reasonForChange: ReasonForChange | undefined;
}
interface RequirementOrConditionIdentification {
    requirementOrConditionDescriptionIdentifier: string;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    requirementOrConditionDescription: string | undefined;
}
export interface RequirementsAndConditions {
    tag: string;
    sectorAreaIdentificationCodeQualifier: ComponentValue;
    requirementOrConditionIdentification: RequirementOrConditionIdentification | undefined;
    actionRequestNotificationDescriptionCode: string | undefined;
    countryNameCode: string | undefined;
}
export interface Reference {
    tag: string;
    reference: {
        referenceCodeQualifier: ComponentValue;
        referenceIdentifier: string | undefined;
        referenceVersionIdentifier: string | undefined;
    };
    documentLineIdentifier: string | undefined;
    revisionIdentifier: string | undefined;
}
interface AccountingJournalIdentificationData {
    accountingJournalIdentification: string;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    accountingJournalName: string | undefined;
}
interface AccountingEntryTypeDetails {
    accountingEntryTypeNameCode: string;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    accountingEntryTypeName: string | undefined;
}
export interface AccountingJournalIdentification {
    tag: string;
    accountingJournalIdentification: AccountingJournalIdentificationData | undefined;
    accountingEntryTypeDetails: AccountingEntryTypeDetails | undefined;
}
interface Range {
    measurementUnitCode: string;
    rangeMinimumValue: number | undefined;
    rangeMaximumValue: number | undefined;
}
export interface RangeDetails {
    tag: string;
    rangeTypeCodeQualifier: ComponentValue;
    range: Range | undefined;
}
interface RateDetailsData {
    rateTypeCodeQualifier: ComponentValue;
    unitPriceBasisRate: number;
    unitPriceBasisValue: number | undefined;
    measurementUnitCode: string | undefined;
}
export interface RateDetails {
    tag: string;
    rateDetails: RateDetailsData;
    statusDescriptionCode: string | undefined;
}
interface SealIssuer {
    sealingPartyNameCode: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    sealingPartyName: string | undefined;
}
export interface SealNumber {
    tag: string;
    sealIdentifier: string | undefined;
    sealIssuer: SealIssuer | undefined;
    sealConditionCode: ComponentValue | undefined;
    identityNumberRange: IdentityNumberRange | undefined;
}
interface PatternDescription {
    frequencyCode: ComponentValue | undefined;
    despatchPatternCode: ComponentValue | undefined;
    despatchPatternTimingCode: ComponentValue | undefined;
}
export interface SchedulingConditions {
    tag: string;
    deliveryPlanCommitmentLevelCode: ComponentValue;
    deliveryInstructionCode: ComponentValue | undefined;
    patternDescription: PatternDescription | undefined;
}
interface SequenceInformation {
    sequencePositionIdentifier: string;
    sequenceIdentifierSoruceCode: ComponentValue | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
}
export interface SequenceDetails {
    tag: string;
    actionCode: ComponentValue | undefined;
    sequenceInformation: SequenceInformation | undefined;
}
export interface SplitGoodsPlacement {
    tag: string;
    equipmentIdentification: EquipmentIdentification;
    packageQuantity: number | undefined;
}
interface StatusCategory {
    statusCategoryCode: ComponentValue;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
}
interface StatusData {
    statusDescriptionCode: ComponentValue;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    statusDescription: string | undefined;
}
interface StatusReason {
    statusReasonDescriptionCode: ComponentValue;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    statusReasonDescription: string | undefined;
}
export interface Status {
    tag: string;
    statusCategory: StatusCategory | undefined;
    status: StatusData | undefined;
    statusReason: StatusReason | undefined;
    statusReason2: StatusReason | undefined;
    statusReason3: StatusReason | undefined;
    statusReason4: StatusReason | undefined;
    statusReason5: StatusReason | undefined;
}
interface DutyTaxOrFeeType {
    dutyTaxOrFeeTypeNameCode: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    dutyTaxOrFreeTypeName: string | undefined;
}
interface DutyTaxOrFeeAccountDetail {
    dutyTaxOrFeeTypeNameCode: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
}
interface DutyTaxOrFeeDetail {
    dutyTaxOrFeeRateDescriptionCode: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    dutyTaxOrFeeRateDescription: string | undefined;
    dutyTaxOrFeeRateBasisCode: ComponentValue | undefined;
    codeListIdentificationCode2: ComponentValue | undefined;
    codeListResponsibleAgencyCode2: ComponentValue | undefined;
}
export interface TaxDetails {
    tag: string;
    dutyTaxOrFeeFunctionCodeQualifier: ComponentValue;
    dutyTaxOrFeeType: DutyTaxOrFeeType | undefined;
    dutyTaxOrFeeAcountDetail: DutyTaxOrFeeAccountDetail | undefined;
    dutyTaxOrFreeAssessmentBasisValue: string | undefined;
    dutyTaxOrFeeDetail: DutyTaxOrFeeDetail | undefined;
    dutyTaxOrFeeCategoryCode: ComponentValue | undefined;
    partyTaxIdentifier: string | undefined;
    calculationSequenceCode: ComponentValue | undefined;
}
interface ModeOfTransport {
    transportModeNameCode: string | undefined;
    transportModeName: string | undefined;
}
interface TransportMeans {
    transportMeansDescriptionCode: string | undefined;
    transportMeansDescription: string | undefined;
}
interface TransportMeansD02b {
    transportMeansDescriptionCode: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    transportMeansDescription: string | undefined;
}
interface Carrier {
    carrierIdentifier: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    carrierName: string | undefined;
}
interface ExcessTransportationInformation {
    excessTransportationReasonCode: ComponentValue;
    excessTransportationResponsibilityCode: ComponentValue;
    customerShipmentAuthorisationIdentifier: string | undefined;
}
interface TransportIdentification {
    transportMeansIdentificationNameIdentifier: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    transportMeansIdentificationName: string | undefined;
    transportMeansNationalityCode: string | undefined;
}
interface PowerType {
    powerTypeCode: ComponentValue | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    powerTypeDescription: string | undefined;
}
export interface DetailsOfTransport {
    tag: string;
    transportStag: string;
    meansOfTransportJourneyIdentifier: string | undefined;
    modeOfTransport: ModeOfTransport | undefined;
    transportMeans: TransportMeans | undefined;
    carrier: Carrier | undefined;
    transitDirectionIndicatorCode: ComponentValue | undefined;
    excessTransportationInformation: ExcessTransportationInformation | undefined;
    transportIdentification: TransportIdentification | undefined;
    transportMeansOwnershipIndicatorCode: ComponentValue | undefined;
}
export interface TransportInformationD02b {
    tag: string;
    transportStag: string;
    meansOfTransportJourneyIdentifier: string | undefined;
    modeOfTransport: ModeOfTransport | undefined;
    transportMeans: TransportMeansD02b | undefined;
    carrier: Carrier | undefined;
    transitDirectionIndicatorCode: ComponentValue | undefined;
    excessTransportationInformation: ExcessTransportationInformation | undefined;
    transportIdentification: TransportIdentification | undefined;
    transportMeansOwnershipIndicatorCode: ComponentValue | undefined;
}
export interface TransportInformationD11a {
    tag: string;
    transportStag: string;
    meansOfTransportJourneyIdentifier: string | undefined;
    modeOfTransport: ModeOfTransport | undefined;
    transportMeans: TransportMeansD02b | undefined;
    carrier: Carrier | undefined;
    transitDirectionIndicatorCode: ComponentValue | undefined;
    excessTransportationInformation: ExcessTransportationInformation | undefined;
    transportIdentification: TransportIdentification | undefined;
    transportMeansOwnershipIndicatorCode: ComponentValue | undefined;
    powerTypeDescription: PowerType | undefined;
}
interface MovementType {
    movementTypeDescriptionCode: ComponentValue | undefined;
    movementTypeDescription: string | undefined;
}
export interface TransportMovementDetails {
    tag: string;
    movementType: MovementType | undefined;
    equipmentPlanDescription: string | undefined;
    haulageArrangementsCode: ComponentValue | undefined;
}
interface TermsOfDeliveryOrTransportData {
    deliveryOrTransportTermsDescriptionCode: string | undefined;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    deliveryOrTransportTermsDescription: string | undefined;
    deliveryOrTransportTermsDescription2: string | undefined;
}
export interface TermsOfDeliveryOrTransport {
    tag: string;
    deliveryOrTransportTermsFunctionCode: ComponentValue | undefined;
    transportChargesPaymentMethodCode: ComponentValue | undefined;
    termsOfDeliveryOrTransport: TermsOfDeliveryOrTransportData | undefined;
}
interface ContractAndCarriageCondition {
    contractAndCarriageConditionCode: ComponentValue;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
}
interface Service {
    serviceRequirementCode: ComponentValue;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
    serviceRequirementCode2: string | undefined;
    codeListIdentificationCode2: string | undefined;
    codeListResponsibleAgencyCode2: string | undefined;
}
interface TransportPriority {
    transportServicePriorityCode: ComponentValue;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
}
interface NatureOfCargo {
    cargoTypeinterfaceificationCode: ComponentValue;
    codeListIdentificationCode: ComponentValue | undefined;
    codeListResponsibleAgencyCode: ComponentValue | undefined;
}
export interface TransportServiceRequirements {
    tag: string;
    contractAndCarriageCondition: ContractAndCarriageCondition | undefined;
    service: Service | undefined;
    transportPriority: TransportPriority | undefined;
    natureOfCargo: NatureOfCargo | undefined;
}
interface MessageIdentifier {
    messageType: string;
    messageVersionNumber: string;
    messageReleaseNumber: string;
    controllingAgencyCoded: string;
    associationAssignedCode: string | undefined;
    codeListDirectoryVersionNumber: string | undefined;
    messageTypeSubFunctionidentification: string | undefined;
}
interface StatusOfTransfer {
    sequenceOfTransfers: number;
    firstAndLastTransfer: string | undefined;
}
interface MessageSubsetIdentification {
    messageSubsetIdentification: string;
    messageSubsetVersionNumber: string | undefined;
    messageSubsetReleaseNumber: string | undefined;
    controllingAgencyCoded: string | undefined;
}
interface MessageImplementationGuidelineIdentification {
    messageImplementationGuidelineIdentification: string;
    messageImplementationGuidelineVersionNumber: string | undefined;
    messageImplementationGuidelineReleaseNumber: string | undefined;
    controllingAgencyCoded: string | undefined;
}
interface ScenarioIdentification {
    scenarioIdentification: string;
    scenarioVersionNumber: string | undefined;
    scenarioReleaseNumber: string | undefined;
    controllingAgencyCoded: string | undefined;
}
export interface MessageHeader {
    tag: string;
    messageReferenceNumber: string;
    messageIdentifier: MessageIdentifier;
    commonAccessReference: string | undefined;
    statusOfTransfer: StatusOfTransfer | undefined;
    messageSubsetIdentification: MessageSubsetIdentification | undefined;
    messageImplementationGuidelineIdentification: MessageImplementationGuidelineIdentification | undefined;
    scenarioIdentification: ScenarioIdentification | undefined;
}
export interface SectionControl {
    tag: string;
    sectionIdentification: string;
}
export interface MessageTrailer {
    tag: string;
    numberOfSegmentsInAMessage: number;
    messageReferenceNumber: string;
}
export {};
//# sourceMappingURL=edifact.d.ts.map