import { TccBpiDeliveryProfileType, TccBusinessType, TccC4Node, TccClarcDate, TccDataType } from './shared.model';
export declare namespace TccET_BPI {
    interface BpiCredentialsUserPassword {
        Password: string;
        User: string;
    }
    interface Directory {
        FValue: string;
    }
    enum FileStorageFileFormat {
        ccCF_Unknown = "ccCF_Unknown",
        ccCF_ClarcDocumentJson = "ccCF_ClarcDocumentJson",
        ccCF_Zip = "ccCF_Zip"
    }
    enum ConnectionType {
        ccBC_Direct = "ccBC_Direct",
        ccBC_CloudConnector = "ccBC_CloudConnector"
    }
    enum AfiSolutionType {
        ccAS_Invoice = "ccAS_Invoice",
        ccAS_Order = "ccAS_Order",
        ccAS_Confirmation = "ccAS_Confirmation",
        ccAS_Unknown = "ccAS_Unknown"
    }
    enum TccMsDyn365BcSolution {
        ccBS_Invoice = "ccBS_Invoice",
        ccBS_Order = "ccBS_Order",
        ccBS_Confirmation = "ccBS_Confirmation"
    }
    enum EnterpriseQueuePriority {
        ccQP_Idle = "ccQP_Idle",
        ccQP_Lowest = "ccQP_Lowest",
        ccQP_Lower = "ccQP_Lower",
        ccQP_Normal = "ccQP_Normal",
        ccQP_Higher = "ccQP_Higher",
        ccQP_Highest = "ccQP_Highest",
        ccQP_TimeCritical = "ccQP_TimeCritical"
    }
    enum EnterpriseQueueState {
        ccQS_Unknown = "ccQS_Unknown",
        ccQS_Idle = "ccQS_Idle",
        ccQS_OnHold = "ccQS_OnHold"
    }
    enum EnterpriseQueueTask {
        ccQT_Unknown = "ccQT_Unknown",
        ccQT_Xtract = "ccQT_Xtract",
        ccQT_Export = "ccQT_Export"
    }
    enum DatabaseDriver {
        ccDD_MSSQL = "ccDD_MSSQL",
        ccDD_MySQL = "ccDD_MySQL",
        ccDD_Oracle = "ccDD_Oracle",
        ccDD_ODBC = "ccDD_ODBC"
    }
    enum SapArchiveLinkScenario {
        ccAS_Unknown = "ccAS_Unknown",
        ccAS_ArchiveAndLink = "ccAS_ArchiveAndLink",
        ccAS_Barcode = "ccAS_Barcode"
    }
    interface BpiProfile extends TccC4Node {
        ConnectionType: ConnectionType;
    }
    interface SapProfile extends BpiProfile {
        SystemId: string;
        GroupName: string;
        ApplicationServer: string;
        MessageServer: string;
        Credentials: BpiCredentialsUserPassword;
        Client: string;
        SapRouter: string;
        Language: string;
        SystemNumber: string;
    }
    interface SapArchiveLinkProfile extends BpiProfile {
        ConnectionProfileId: string;
        Scenario: SapArchiveLinkScenario;
        FunctionModule: string;
        Repository: string;
        DocuClass: string;
        ArObject: string;
        SapObject: string;
    }
    interface AfiProfile extends BpiProfile {
        SapFunctionModule: string;
        SapProfile: string;
        Solution: AfiSolutionType;
        UnitMappings: string;
    }
    interface FileSystemProfile extends BpiProfile {
        Path: string;
        Credentials: BpiCredentialsUserPassword;
    }
    interface EcosioProfile extends BpiProfile {
        UserId: string;
        AppKey: string;
        UserKey: string;
    }
    interface ImapProfile extends BpiProfile {
        Port: number;
        UseTls: boolean;
        Server: string;
    }
    interface MailBoxProfile extends BpiProfile {
        Credentials: BpiCredentialsUserPassword;
        Email: string;
        ProviderType: TccBpiDeliveryProfileType;
        ProviderId: string;
        Folder: string;
    }
    interface MicrosoftGraphProfile extends BpiProfile {
        ClientId: string;
        ClientSecret: string;
        TenantId: string;
    }
    interface MicrosoftDynamics365BusinessCentralProfile extends BpiProfile {
        Credentials: BpiCredentialsUserPassword;
        Url: string;
        ConnectionType: ConnectionType;
        Solution: TccMsDyn365BcSolution;
    }
    interface FileStorageProfile extends BpiProfile {
        ProviderType: TccBpiDeliveryProfileType;
        ProviderId: string;
        FileFormat: FileStorageFileFormat;
        FileName: string;
    }
    interface ClarcEnterpriseProfile extends BpiProfile {
        WarpUrl: string;
        Priority: EnterpriseQueuePriority;
        State: EnterpriseQueueState;
        Task: EnterpriseQueueTask;
        PreScriptScheme: string;
        PostScriptScheme: string;
        ConversionScheme: string;
        XtractProject: string;
        ExportService: string;
        ExportScheme: string;
        ExportDestination: string;
    }
    interface EasyEnterpriseXProfile extends BpiProfile {
        Url: {
            FUriStr: string;
        };
        Unit: string;
        Instance: string;
        Pool: string;
        Scheme: string;
        Locale: string;
        User: string;
        Password: string;
        UseBinaryLicense: boolean;
    }
    interface DatabaseProfile extends BpiProfile {
        User: string;
        Password: string;
        Dsn: string;
        Server: string;
        Database: string;
        DatabaseDriver: DatabaseDriver;
    }
    interface DatabaseQueryColumn {
        Name: string;
        Type: TccDataType;
        Index: boolean;
    }
    interface DatabaseQueryResponse {
        Count: number;
        Columns: DatabaseQueryColumn[];
        Rows: {
            Values: Array<any>;
        }[];
    }
    interface GoogleProfile extends BpiProfile {
        Certificate: string;
    }
    enum TccSyncObjStateState {
        ccSS_Idle = "ccSS_Idle",
        ccSS_InProgress = "ccSS_InProgress",
        ccSS_Error = "ccSS_Error",
        ccSS_Warning = "ccSS_Warning"
    }
    enum TccErpType {
        ccET_SAP = "ccET_SAP",
        ccET_MS365BC = "ccET_MS365BC"
    }
    interface ERPSync extends TccC4Node {
        ErpId: string;
        ErpType: TccErpType;
        ConnectionType: ConnectionType;
        UnitMappings: string;
        SapFunctionModules: TccBpiProfileSapFunctionModules;
        States: TccBpiProfileErpSyncStates;
        Schedules: TccSyncScheduleList[];
        SubPath: string;
    }
    interface TccBpiProfileSapFunctionModules {
        Companies: string;
        Orders: string;
        Quotes: string;
        Materials: string;
        Debitors: string;
        Creditors: string;
        SalesOrgs: string;
    }
    interface TccBpiProfileErpSyncStates {
        Companies: TccSyncObjState;
        Creditors: TccSyncObjState;
        Debitors: TccSyncObjState;
        Orders: TccSyncObjState;
        Quotes: TccSyncObjState;
        SalesOrgs: TccSyncObjState;
        Name: string;
        SubPath: string;
        System: boolean;
    }
    interface TccSyncObjState {
        LastSync: TccClarcDate;
        LastMessage: string;
        LastDuration: number;
        State: TccSyncObjStateState;
    }
    interface TccSyncScheduleList {
        Active: boolean;
        Schedule: string;
    }
    type BpiUnitMappingList = Array<BpiUnitMapping>;
    interface BpiUnitMapping {
        Unit: string;
        Value: string;
        Info: string;
        Source: string[];
    }
    interface UnitMappings extends TccC4Node {
        Items: BpiUnitMappingList;
    }
    interface Unit {
        UnitType: string;
        UnitName: string;
        UnitText: string;
    }
    interface Transformer extends TccC4Node {
        Rules: TccTransformRule;
    }
    interface TccTransformRule {
    }
    interface BusinessType {
        BusinessType: TccBusinessType;
        Description: string;
    }
    enum TccDocumentSourceFormat {
        ccSF_Image = "ccSF_Image",
        ccSF_Pdf = "ccSF_Pdf"
    }
    enum TccDocumentTargetFormat {
        ccTF_Image = "ccTF_Image",
        ccTF_Pdf = "ccTF_Pdf"
    }
    enum TccImageCompression {
        ccIC_Unknown = "ccIC_Unknown",
        ccIC_Uncompressed = "ccIC_Uncompressed",
        ccIC_CCITT1D = "ccIC_CCITT1D",
        ccIC_CCITTGroup3 = "ccIC_CCITTGroup3",
        ccIC_CCITTGroup4 = "ccIC_CCITTGroup4",
        ccIC_LZW = "ccIC_LZW",
        ccIC_LZMA = "ccIC_LZMA",
        ccIC_Jpeg = "ccIC_Jpeg",
        ccIC_Jpeg2000 = "ccIC_Jpeg2000",
        ccIC_PackBits = "ccIC_PackBits",
        ccIC_Jbig = "ccIC_Jbig",
        ccIC_Zip = "ccIC_Zip",
        ccIC_RLE = "ccIC_RLE",
        ccIC_WebP = "ccIC_WebP"
    }
    enum TccImageFormat {
        ccIF_JPEG = "ccIF_JPEG",
        ccIF_PNG = "ccIF_PNG",
        ccIF_TIFF = "ccIF_TIFF",
        ccIF_GIF = "ccIF_GIF",
        ccIF_BMP = "ccIF_BMP",
        ccIF_WEBP = "ccIF_WEBP",
        ccIF_PDF = "ccIF_PDF",
        ccIF_PDFA1A = "ccIF_PDFA1A",
        ccIF_PDFA2B = "ccIF_PDFA2B",
        ccIF_PDFA3B = "ccIF_PDFA3B"
    }
    enum TccPdfFormat {
        ccIF_PDF = "ccIF_PDF",
        ccIF_PDFA1A = "ccIF_PDFA1A",
        ccIF_PDFA2B = "ccIF_PDFA2B",
        ccIF_PDFA3B = "ccIF_PDFA3B"
    }
    enum TccDocumentSplitOrMerge {
        ccSM_None = "ccSM_None",
        ccSM_Split = "ccSM_Split",
        ccSM_Merge = "ccSM_Merge"
    }
    interface DocumentConversionConfig extends TccC4Node {
        Definitions: Definition[];
    }
    interface Definition {
        DocumentSourceFormat: TccDocumentSourceFormat;
        DocumentTargetFormat: TccDocumentTargetFormat;
        ImageTargetCompression: TccImageCompression;
        ImageTargetFormat: TccImageFormat;
        PdfTargetFormat: TccPdfFormat;
        SplitOrMerge: TccDocumentSplitOrMerge;
        Quality: number;
        Deskew: boolean;
        AutoRotate: boolean;
        Despeckle: boolean;
        KeepSourceBlob: boolean;
    }
}
