import { IExpandable, TccTranslation, TccSimpleHistory, TccPermissions, TccSystemClass, TccC4Node, TccAdvancedBlob, TccClarcDate, TccMessageType as _TccMessageType, TccODataResult, TccSimpleNote, TccBoProperties } from './shared.model';
export declare namespace TccET_APPLI {
    type HistoryType = _TccMessageType;
    const HistoryType: typeof _TccMessageType;
    enum StackType {
        ccST_Input = "ccST_Input",
        ccST_Documents = "ccST_Documents"
    }
    enum QueueItemTask {
        ccQT_Unknown = "ccQT_Unknown",
        ccQT_Process = "ccQT_Process"
    }
    enum Priority {
        ccPR_Idle = 0,
        ccPR_Lowest = 1,
        ccPR_Lower = 2,
        ccPR_Normal = 3,
        ccPR_Higher = 4,
        ccPR_Highest = 5,
        ccPR_TimeCritical = 6
    }
    enum Solution {
        ccSA_Unknown = "ccSA_Unknown",
        ccSA_None = "ccSA_None",
        ccSA_Custom = "ccSA_Custom",
        ccSA_Invoice = "ccSA_Invoice"
    }
    enum Origin {
        ccDO_Unknown = "ccDO_Unknown",
        ccDO_Self = "ccDO_Self",
        ccDO_Api = "ccDO_Api",
        ccDO_Capture = "ccDO_Capture",
        ccDO_File = "ccDO_File",
        ccDO_Scan = "ccDO_Scan",
        ccDO_Email = "ccDO_Email",
        ccDO_Messenger = "ccDO_Messenger",
        ccDO_Edi = "ccDO_Edi",
        ccDO_Ecosio = "ccDO_Ecosio",
        ccDO_Peppol = "ccDO_Peppol"
    }
    enum State {
        ccDS_Unknown = "ccDS_Unknown",
        ccDS_Idle = "ccDS_Idle",
        ccDS_Error = "ccDS_Error",
        ccDS_Processing = "ccDS_Processing",
        ccDS_Capturing = "ccDS_Capturing",
        ccDS_Classification = "ccDS_Classification",
        ccDS_Analyze = "ccDS_Analyze",
        ccDS_Extraction = "ccDS_Extraction",
        ccDS_Validation = "ccDS_Validation",
        ccDS_WorkflowProcessing = "ccDS_WorkflowProcessing",
        ccDS_UserAction = "ccDS_UserAction",
        ccDS_Conversion = "ccDS_Conversion",
        ccDS_Delivery = "ccDS_Delivery",
        ccDS_Finished = "ccDS_Finished",
        ccDS_Deleted = "ccDS_Deleted",
        ccDS_Sending = "ccDS_Sending"
    }
    enum ProcessManager {
        ccPM_Unknown = "ccPM_Unknown",
        ccPM_Invoice = "ccPM_Invoice",
        ccPM_WorkFlow = "ccPM_WorkFlow",
        ccPM_DocumentFlow = "ccPM_DocumentFlow",
        ccPM_Order = "ccPM_Order",
        ccPM_DocumentRecognition = "ccPM_DocumentRecognition",
        ccPM_Billing = "ccPM_Billing",
        ccPM_Confirmation = "ccPM_Confirmation"
    }
    enum TasksPipeline {
        ccDT_Unknown = "ccDT_Unknown",
        ccDT_Capturing = "ccDT_Capturing",
        ccDT_Classification = "ccDT_Classification",
        ccDT_Extraction = "ccDT_Extraction",
        ccDT_Validation = "ccDT_Validation",
        ccDT_Delivery = "ccDT_Delivery",
        ccDT_ProcessDeliveryResponse = "ccDT_ProcessDeliveryResponse",
        ccDT_WorkflowProcessing = "ccDT_WorkflowProcessing",
        ccDT_Conversion = "ccDT_Conversion",
        ccDT_Finish = "ccDT_Finish",
        ccDT_None = "ccDT_None",
        ccDT_UserTask = "ccDT_UserTask",
        ccDT_Analysis = "ccDT_Analysis",
        ccDT_RenderTrueForm = "ccDT_RenderTrueForm",
        ccDT_Sending = "ccDT_Sending"
    }
    enum NoteType {
        ccNT_Unknown = "ccNT_Unknown",
        ccNT_Info = "ccNT_Info",
        ccNT_Warning = "ccNT_Warning",
        ccNT_Error = "ccNT_Error",
        ccNT_ErrorRelease = "ccNT_ErrorRelease"
    }
    enum OfficeElements {
        ccOE_Unknown = "ccOE_Unknown",
        ccOE_Original = "ccOE_Original",
        ccOE_PdfConversion = "ccOE_PdfConversion",
        ccOE_TextConversion = "ccOE_TextConversion",
        ccOE_Attachments = "ccOE_Attachments"
    }
    enum CaptureState {
        ccOS_Active = "ccOS_Active",
        ccOS_Inactive = "ccOS_Inactive"
    }
    enum Scenario {
        ccBS_None = "ccBS_None",
        ccBS_BarcodeOnFirstPage = "ccBS_BarcodeOnFirstPage",
        ccBS_BarcodeOnLastPage = "ccBS_BarcodeOnLastPage",
        ccBS_BarcodeOnEveryPage = "ccBS_BarcodeOnEveryPage"
    }
    enum BarcodeTypes {
        ccBC_Unknown = "ccBC_Unknown",
        ccBC_Code128 = "ccBC_Code128",
        ccBC_Code39 = "ccBC_Code39",
        ccBC_Code93 = "ccBC_Code93",
        ccBC_Code25 = "ccBC_Code25",
        ccBC_EAN8 = "ccBC_EAN8",
        ccBC_EAN13 = "ccBC_EAN13",
        ccBC_UPCA = "ccBC_UPCA",
        ccBC_UPCE = "ccBC_UPCE",
        ccBC_Codabar = "ccBC_Codabar",
        ccBC_Databar = "ccBC_Databar",
        ccBC_DataMatrix = "ccBC_DataMatrix",
        ccBC_PDF417 = "ccBC_PDF417",
        ccBC_MicroPDF417 = "ccBC_MicroPDF417",
        ccBC_PatchCodes = "ccBC_PatchCodes",
        ccBC_QRCode = "ccBC_QRCode"
    }
    enum TccDeliveryExecutionMode {
        ccDM_Unknown = "ccDM_Unknown",
        ccDM_Scheduled = "ccDM_Scheduled",
        ccDM_Immediately = "ccDM_Immediately",
        ccDM_Manual = "ccDM_Manual"
    }
    interface WorkStack extends IExpandable {
        Name: TccTranslation;
        Id: string;
        Default: boolean;
        Type: StackType;
    }
    interface DocumentHubItemProcessManager extends IExpandable {
        Id: string;
        Type: ProcessManager;
    }
    interface TccCaptureApplicationBarcodeRecognition {
        Active: boolean;
        MinLength: number;
        BarcodeTypes: BarcodeTypes[];
        Scenario: Scenario;
        DeleteBarcodePages: Boolean;
        RegEx: String;
        MaxLength: number;
    }
    interface TccCaptureApplicationScanProfiles {
        Default: string;
        Items: string[];
    }
    interface TccCaptureApplicationDesktops {
        Validation?: string;
        MsExcel?: string;
        Office?: string;
        MsWord?: string;
        Inbox?: string;
        MsTeams?: string;
        MsOutlook?: string;
    }
    interface Capture extends TccC4Node {
        SingleClickOcr?: boolean;
        RecoFormId?: string;
        ScanProfiles?: TccCaptureApplicationScanProfiles;
        Desktops?: TccCaptureApplicationDesktops;
        DocumentIntelligence?: TccDocumentIntelligence;
        /**
         * @deprecated
         */
        BusinessObjectDesktopInbox?: string;
        /**
         * @deprecated
         */
        BusinessObjectDesktopDocuments?: string;
        /**
         * @deprecated
         */
        BusinessObjectDesktopOffice?: string;
        BusinessObjectModel?: string;
        WorkStacks?: Array<WorkStack>;
        ProcessManager?: DocumentHubItemProcessManager;
        AllowOneGoRelease?: boolean;
        HasInbox?: boolean;
        OfficeElements?: OfficeElements[];
        State?: CaptureState;
        ProvideAsPrinter?: boolean;
        BarcodeRecognition?: TccCaptureApplicationBarcodeRecognition;
        AllowErrorRelease?: boolean;
    }
    interface TccDocumentIntelligence {
        Extraction: boolean;
    }
    interface MetaData extends TccBoProperties {
    }
    interface DocumentHistory {
        Code: string;
        Date: TccClarcDate;
        Text: string;
        Type: HistoryType;
        User: string;
        Name: string;
        TaskId: string;
    }
    interface TasksPipelineElement {
        Id: string;
        Type: TasksPipeline;
        ObjectId: string;
        StartDate: TccClarcDate;
    }
    interface DocumentHubItemProcessTasks {
        CurrentTaskId: string;
        CurrentTaskType: TasksPipeline;
        Items: Array<TasksPipelineElement>;
    }
    interface TccDocumentHubDeliveryPlan {
        DateTime: TccClarcDate;
        SendSchedule: string;
        ExecutionMode: TccDeliveryExecutionMode;
    }
    interface DocumentHubItemProcess extends IExpandable {
        Priority: Priority;
        TasksPipeline: DocumentHubItemProcessTasks;
        Manager: DocumentHubItemProcessManager;
        CloudConnectionId: string;
        Retries: number;
        RetryDate: TccClarcDate;
        DeliveryPlan: TccDocumentHubDeliveryPlan;
    }
    interface DocumentHubItemMetaData<T extends MetaDataObjectBase = MetaDataObjectBase> {
        Subject?: string;
        Notes?: TccSimpleNote[];
        Origin?: Origin;
        Properties?: MetaData;
        Object?: T;
        Blobs?: TccAdvancedBlob[];
        OriginSystem?: string;
    }
    interface Document<T extends MetaDataObjectBase = MetaDataObjectBase> extends TccODataResult {
        OwnerEntityChildRef: string;
        Permissions?: TccPermissions;
        SystemClass?: TccSystemClass;
        MetaData: DocumentHubItemMetaData<T>;
        OwnerEntity: string;
        History?: TccSimpleHistory;
        ChangeLog?: DocumentHistory[];
        Solution?: Solution;
        State?: State;
        AssignedPrincipals: Array<string>;
        Process?: DocumentHubItemProcess;
        InstantForward?: boolean;
        BlobReferences?: Array<string>;
    }
    interface Blob extends TccODataResult {
        OwnerEntityChildRef: string;
        Permissions?: TccPermissions;
        SystemClass?: TccSystemClass;
        Blob: TccAdvancedBlob;
        History?: TccSimpleHistory;
        OwnerEntity: string;
    }
    interface ExtendedBlob extends Blob {
        isMetaDataBlob?: boolean;
    }
    enum MetadataObjectClasses {
        TccBusinessDocumentInvoice = "TccBusinessDocumentInvoice"
    }
    interface MetaDataObjectBase {
        Class?: MetadataObjectClasses;
        Data?: any;
    }
    interface DocumentHubManagerStats extends IExpandable {
        Id: string;
        Documents: number;
        Blobs: number;
    }
}
