import { TccET_BIZOBJ } from "./bizobj.model";
import { TccClarcDate, TccParticipantIdScheme } from "./shared.model";
export declare namespace TccET_MDM {
    enum Currency {
        ccCS_Unknown = "ccCS_Unknown",
        ccCS_AED = "ccCS_AED",
        ccCS_AFN = "ccCS_AFN",
        ccCS_ALL = "ccCS_ALL",
        ccCS_AMD = "ccCS_AMD",
        ccCS_ANG = "ccCS_ANG",
        ccCS_AOA = "ccCS_AOA",
        ccCS_ARS = "ccCS_ARS",
        ccCS_AUD = "ccCS_AUD",
        ccCS_AWG = "ccCS_AWG",
        ccCS_AZN = "ccCS_AZN",
        ccCS_BAM = "ccCS_BAM",
        ccCS_BBD = "ccCS_BBD",
        ccCS_BDT = "ccCS_BDT",
        ccCS_BGN = "ccCS_BGN",
        ccCS_BHD = "ccCS_BHD",
        ccCS_BIF = "ccCS_BIF",
        ccCS_BMD = "ccCS_BMD",
        ccCS_BND = "ccCS_BND",
        ccCS_BOB = "ccCS_BOB",
        ccCS_BRL = "ccCS_BRL",
        ccCS_BSD = "ccCS_BSD",
        ccCS_BTN = "ccCS_BTN",
        ccCS_BWP = "ccCS_BWP",
        ccCS_BYN = "ccCS_BYN",
        ccCS_BZD = "ccCS_BZD",
        ccCS_CAD = "ccCS_CAD",
        ccCS_CDF = "ccCS_CDF",
        ccCS_CHF = "ccCS_CHF",
        ccCS_CLP = "ccCS_CLP",
        ccCS_CNY = "ccCS_CNY",
        ccCS_COP = "ccCS_COP",
        ccCS_CRC = "ccCS_CRC",
        ccCS_CUP = "ccCS_CUP",
        ccCS_CVE = "ccCS_CVE",
        ccCS_CZK = "ccCS_CZK",
        ccCS_DJF = "ccCS_DJF",
        ccCS_DKK = "ccCS_DKK",
        ccCS_DOP = "ccCS_DOP",
        ccCS_DZD = "ccCS_DZD",
        ccCS_EGP = "ccCS_EGP",
        ccCS_ERN = "ccCS_ERN",
        ccCS_ETB = "ccCS_ETB",
        ccCS_EUR = "ccCS_EUR",
        ccCS_FJD = "ccCS_FJD",
        ccCS_FKP = "ccCS_FKP",
        ccCS_GBP = "ccCS_GBP",
        ccCS_GEL = "ccCS_GEL",
        ccCS_GGP = "ccCS_GGP",
        ccCS_GHS = "ccCS_GHS",
        ccCS_GIP = "ccCS_GIP",
        ccCS_GMD = "ccCS_GMD",
        ccCS_GNF = "ccCS_GNF",
        ccCS_GTQ = "ccCS_GTQ",
        ccCS_GYD = "ccCS_GYD",
        ccCS_HKD = "ccCS_HKD",
        ccCS_HNL = "ccCS_HNL",
        ccCS_HRK = "ccCS_HRK",
        ccCS_HTG = "ccCS_HTG",
        ccCS_HUF = "ccCS_HUF",
        ccCS_IDR = "ccCS_IDR",
        ccCS_ILS = "ccCS_ILS",
        ccCS_IMP = "ccCS_IMP",
        ccCS_INR = "ccCS_INR",
        ccCS_IQD = "ccCS_IQD",
        ccCS_IRR = "ccCS_IRR",
        ccCS_ISK = "ccCS_ISK",
        ccCS_JEP = "ccCS_JEP",
        ccCS_JMD = "ccCS_JMD",
        ccCS_JOD = "ccCS_JOD",
        ccCS_JPY = "ccCS_JPY",
        ccCS_KES = "ccCS_KES",
        ccCS_KGS = "ccCS_KGS",
        ccCS_KHR = "ccCS_KHR",
        ccCS_KMF = "ccCS_KMF",
        ccCS_KPW = "ccCS_KPW",
        ccCS_KRW = "ccCS_KRW",
        ccCS_KWD = "ccCS_KWD",
        ccCS_KYD = "ccCS_KYD",
        ccCS_KZT = "ccCS_KZT",
        ccCS_LAK = "ccCS_LAK",
        ccCS_LBP = "ccCS_LBP",
        ccCS_LKR = "ccCS_LKR",
        ccCS_LRD = "ccCS_LRD",
        ccCS_LSL = "ccCS_LSL",
        ccCS_LYD = "ccCS_LYD",
        ccCS_MAD = "ccCS_MAD",
        ccCS_MDL = "ccCS_MDL",
        ccCS_MGA = "ccCS_MGA",
        ccCS_MKD = "ccCS_MKD",
        ccCS_MMK = "ccCS_MMK",
        ccCS_MNT = "ccCS_MNT",
        ccCS_MOP = "ccCS_MOP",
        ccCS_MRU = "ccCS_MRU",
        ccCS_MUR = "ccCS_MUR",
        ccCS_MVR = "ccCS_MVR",
        ccCS_MWK = "ccCS_MWK",
        ccCS_MXN = "ccCS_MXN",
        ccCS_MYR = "ccCS_MYR",
        ccCS_MZN = "ccCS_MZN",
        ccCS_NAD = "ccCS_NAD",
        ccCS_NGN = "ccCS_NGN",
        ccCS_NIO = "ccCS_NIO",
        ccCS_NOK = "ccCS_NOK",
        ccCS_NPR = "ccCS_NPR",
        ccCS_NZD = "ccCS_NZD",
        ccCS_OMR = "ccCS_OMR",
        ccCS_PEN = "ccCS_PEN",
        ccCS_PGK = "ccCS_PGK",
        ccCS_PHP = "ccCS_PHP",
        ccCS_PKR = "ccCS_PKR",
        ccCS_PLN = "ccCS_PLN",
        ccCS_PYG = "ccCS_PYG",
        ccCS_QAR = "ccCS_QAR",
        ccCS_RON = "ccCS_RON",
        ccCS_RSD = "ccCS_RSD",
        ccCS_RUB = "ccCS_RUB",
        ccCS_RWF = "ccCS_RWF",
        ccCS_SAR = "ccCS_SAR",
        ccCS_SBD = "ccCS_SBD",
        ccCS_SCR = "ccCS_SCR",
        ccCS_SDG = "ccCS_SDG",
        ccCS_SEK = "ccCS_SEK",
        ccCS_SGD = "ccCS_SGD",
        ccCS_SHP = "ccCS_SHP",
        ccCS_SLL = "ccCS_SLL",
        ccCS_SOS = "ccCS_SOS",
        ccCS_SRD = "ccCS_SRD",
        ccCS_SSP = "ccCS_SSP",
        ccCS_STN = "ccCS_STN",
        ccCS_SYP = "ccCS_SYP",
        ccCS_SZL = "ccCS_SZL",
        ccCS_THB = "ccCS_THB",
        ccCS_TJS = "ccCS_TJS",
        ccCS_TMT = "ccCS_TMT",
        ccCS_TND = "ccCS_TND",
        ccCS_TOP = "ccCS_TOP",
        ccCS_TRY = "ccCS_TRY",
        ccCS_TTD = "ccCS_TTD",
        ccCS_TWD = "ccCS_TWD",
        ccCS_TZS = "ccCS_TZS",
        ccCS_UAH = "ccCS_UAH",
        ccCS_UGX = "ccCS_UGX",
        ccCS_USD = "ccCS_USD",
        ccCS_UYU = "ccCS_UYU",
        ccCS_UZS = "ccCS_UZS",
        ccCS_VES = "ccCS_VES",
        ccCS_VND = "ccCS_VND",
        ccCS_VUV = "ccCS_VUV",
        ccCS_WST = "ccCS_WST",
        ccCS_XAF = "ccCS_XAF",
        ccCS_XCD = "ccCS_XCD",
        ccCS_XDR = "ccCS_XDR",
        ccCS_XOF = "ccCS_XOF",
        ccCS_XPF = "ccCS_XPF",
        ccCS_YER = "ccCS_YER",
        ccCS_ZAR = "ccCS_ZAR",
        ccCS_ZMW = "ccCS_ZMW"
    }
    enum SystemClass {
        ccSC_Unknown = 0,
        ccSC_External = 1,
        ccSC_Core = 2,
        ccSC_Productive = 3,
        ccSC_Test = 4,
        ccSC_Development = 5,
        ccSC_Training = 6,
        ccSC_Sandbox = 7
    }
    enum SyncState {
        ccIS_Idle = 0,
        ccIS_Insert = 1,
        ccIS_Update = 2,
        ccIS_Delete = 3
    }
    enum TccBusinessPartnerAddressType {
        ccAT_Unknown = 0,
        ccAT_Invoice = 1,
        ccAT_Delivery = 2,
        ccAT_Contact = 3,
        ccAT_Plant = 4
    }
    enum TccBusinessPartnerRole {
        ccPR_Unknown = "ccPR_Unknown",
        ccPR_Creditor = "ccPR_Creditor",
        ccPR_Debitor = "ccPR_Debitor",
        ccPR_Company = "ccPR_Company",
        ccPR_ContractingAuthority = "ccPR_ContractingAuthority",
        ccPR_GoodsRecipient = "ccPR_GoodsRecipient",
        ccPR_InvoiceRecipient = "ccPR_InvoiceRecipient",
        ccPR_InvoiceRegulator = "ccPR_InvoiceRegulator"
    }
    enum TccUnitType {
        ccUT_H87 = "ccUT_H87"
    }
    interface TccODataBasicCustomEntityItem {
        Id?: string;
        ETag?: string;
        SystemClass?: SystemClass;
    }
    type TccMasterDataAddresses = Array<TccMasterDataAddress>;
    interface TccMasterDataAddress {
        Types?: TccBusinessPartnerAddressType[];
        Id?: string;
        Company?: TccMasterDataCompany;
        Street?: TccMasterDataStreet;
        Addition?: string;
        LetterBox?: string;
        PostCode?: string;
        PostCodeLb?: string;
        CityName?: string;
        Phone?: string;
        Email?: string;
        Country?: string;
    }
    interface TccMasterDataBusinessPartner extends TccODataBasicCustomEntityItem {
        SyncState?: SyncState;
        Hashes?: string[];
        ErpId?: string;
        Currency?: Currency;
        CompanyCodes?: string[];
        SalesTaxIds?: string[];
        TaxIds?: string[];
        Contact?: TccMasterDataContacts;
        Addresses?: TccMasterDataAddresses;
        Banks?: TccMasterDataBanks;
    }
    interface TccMasterDataCompany {
        Name: string;
        Addition: string;
    }
    type TccMasterDataBanks = Array<TccMasterDataBank>;
    interface TccMasterDataBank {
        Name: string;
        Code: string;
        ProprietaryId: string;
        Swift: string;
        Iban: string;
    }
    interface TccMasterDataContacts {
        Surname: string;
        Firstname: string;
        Abbreviati: string;
        Phone: string;
        Fax: string;
        Email: string;
    }
    interface TccMasterDataStreet {
        Name: string;
        Number: string;
    }
    interface TccMasterDataUnit {
        Original: string;
        UnitType: TccUnitType;
    }
    interface TccMasterDataDeliveryNoteNumber {
        Id: string;
        DeliveryNoteId: string;
        Normalized: string;
        Date: TccClarcDate;
    }
    type TccMasterDataDeliveryNoteNumbers = Array<TccMasterDataDeliveryNoteNumber>;
    enum TccDeliveryMethod {
        ccDM_PostalService = "ccDM_PostalService",
        ccDM_Email = "ccDM_Email",
        ccDM_EGatewayProvider = "ccDM_EGatewayProvider"
    }
    enum TccDeliveryExecutionMode {
        ccDM_Unknown = "ccDM_Unknown",
        ccDM_Scheduled = "ccDM_Scheduled",
        ccDM_Immediately = "ccDM_Immediately",
        ccDM_Manual = "ccDM_Manual"
    }
    enum TccParticipantType {
        ccPT_Unknown = "ccPT_Unknown",
        ccPT_Company = "ccPT_Company",
        ccPT_Government = "ccPT_Government"
    }
    interface TccMasterDataDebitorSalesOrgPartner {
        Id: string;
        Roles: Array<TccBusinessPartnerRole>;
    }
    type TccMasterDataDebitorSalesOrgPartners = Array<TccMasterDataDebitorSalesOrgPartner>;
    interface TccMasterDataDebitorSalesOrg {
        Id: string;
        Currency: Currency;
        Roles: Array<TccBusinessPartnerRole>;
        Partners: TccMasterDataDebitorSalesOrgPartners;
    }
    type TccMasterDataDebitorSalesOrgs = Array<TccMasterDataDebitorSalesOrg>;
    interface TccBillingDebitor {
        /**
         * File format of a business document
         */
        TransferFormat: TccET_BIZOBJ.TransferFormat;
        /**
         * Delivery method for a business document
         */
        DeliveryMethod: TccDeliveryMethod;
        /**
         * Delivery execution timing
         */
        DeliveryMode: TccDeliveryExecutionMode;
        /**
         * Electronic address in the e-gateway network
         */
        ParticipantId: string;
        /**
         * Identifier scheme, resolves to the EAS code
         */
        ParticipantIdScheme: TccParticipantIdScheme;
        /**
         * Public sector or company
         */
        ParticipantType: TccParticipantType;
        /**
         * Buyer reference, EN 16931 BT-10
         */
        BuyerReference: string;
        /**
         * Email address defined in RFC 822
         */
        EmailRecipient: string;
        /**
         * Country code defined in ISO 316
         */
        Country: string;
        /**
         * ISO 639 language code
         */
        Language: string;
    }
    interface Debitor extends TccMasterDataBusinessPartner {
        SalesOrgs?: TccMasterDataDebitorSalesOrgs;
        Billing?: TccBillingDebitor;
    }
    interface Creditor extends TccMasterDataBusinessPartner {
    }
    interface TccMasterDataCompanySalesOrgs {
        Id: string;
    }
    interface Company extends TccMasterDataBusinessPartner {
        SalesOrgs?: TccMasterDataCompanySalesOrgs;
    }
    interface TccMasterDataExternalArticleId {
        CustomerId: string;
        ArticleId: string;
        QuantityUnit: TccMasterDataUnit;
        CustomerNo: string;
    }
    type TccMasterDataExternalArticleIds = Array<TccMasterDataExternalArticleId>;
    interface TccMasterDataCatalogueArticleId {
        CatalogueId: string;
        CompanyCode: string;
    }
    type TccMasterDataCatalogueArticleIds = Array<TccMasterDataCatalogueArticleId>;
    interface Article extends TccODataBasicCustomEntityItem {
        SyncState: SyncState;
        Hashes: string[];
        ErpId: string;
        QuantityUnit: TccMasterDataUnit;
        ExternalIds: TccMasterDataExternalArticleIds;
        CatalogueIds: TccMasterDataCatalogueArticleIds;
        Text: string;
    }
    interface SalesOrg extends TccODataBasicCustomEntityItem {
        SyncState: SyncState;
        Hashes: string[];
        ErpId: string;
        Currency: Currency;
        CompanyCode: string;
        Addresses: TccMasterDataAddresses;
        SellerAddress: TccMasterDataAddress;
        SellerBank: TccMasterDataBank;
        SellerUStId: string;
        SellerTaxId: string;
    }
    interface TccMasterDataOrderPosition {
        PriceUnit: number;
        FinalInvoiceIndicator: boolean;
        ExternalReceiptId: string;
        GoodsReceiptQuantity: number;
    }
    type TccMasterDataOrderPositions = Array<TccMasterDataOrderPosition>;
    interface Order extends TccODataBasicCustomEntityItem {
        SyncState: SyncState;
        Hashes: string[];
        ErpId: string;
        Date: TccClarcDate;
        DeliveryNoteNumbers: TccMasterDataDeliveryNoteNumbers;
        BusinessPartner: string;
        AddressNumber: string;
        Positions: TccMasterDataOrderPositions;
    }
    interface TccMasterDataQuotePosition {
    }
    type TccMasterDataQuotePositions = Array<TccMasterDataQuotePosition>;
    interface Quote extends TccODataBasicCustomEntityItem {
        SyncState: SyncState;
        Hashes: string[];
        ErpId: string;
        Date: TccClarcDate;
        BusinessPartner: string;
        Positions: TccMasterDataQuotePositions;
    }
}
