import { TccBusinessPropertyType as _TccBusinessType } from "./businesstypes.model";
export interface IExpandable {
    [propname: string]: any;
}
export interface IKeyValue<T> {
    key: string;
    value: T;
}
export interface TccKeyValuePair {
    Key: string;
    Value: any;
}
export type TccDictionary<T, S> = Array<TccDictionaryItem<T, S>>;
export interface TccDictionaryItem<T, S> {
    Key: T;
    Value: S;
}
export declare enum TccDataType {
    ccDT_Unknown = "ccDT_Unknown",
    ccDT_String = "ccDT_String",
    ccDT_Integer = "ccDT_Integer",
    ccDT_Float = "ccDT_Float",
    ccDT_Boolean = "ccDT_Boolean",
    ccDT_DateTime = "ccDT_DateTime",
    ccDT_Binary = "ccDT_Binary"
}
interface _TccTypedValue {
    DataType: TccDataType;
    Value: any;
}
interface TccUnknownValue extends _TccTypedValue {
    DataType: TccDataType.ccDT_Unknown;
    Value: any;
}
interface TccStringValue extends _TccTypedValue {
    DataType: TccDataType.ccDT_String;
    Value: string;
}
interface TccIntegerValue extends _TccTypedValue {
    DataType: TccDataType.ccDT_Integer;
    Value: number;
}
interface TccFloatValue extends _TccTypedValue {
    DataType: TccDataType.ccDT_Float;
    Value: number;
}
interface TccBooleanValue extends _TccTypedValue {
    DataType: TccDataType.ccDT_Boolean;
    Value: boolean;
}
interface TccDateTimeValue extends _TccTypedValue {
    DataType: TccDataType.ccDT_DateTime;
    Value: TccClarcDate;
}
interface TccBinaryValue extends _TccTypedValue {
    DataType: TccDataType.ccDT_Binary;
    Value: any;
}
export type TccTypedValue = TccUnknownValue | TccStringValue | TccIntegerValue | TccFloatValue | TccBooleanValue | TccDateTimeValue | TccBinaryValue;
export interface TccClarcDate {
    $date: number;
}
export interface TccTranslation {
    INT: string;
    [THREECODE: string]: string;
}
export interface TccODataResult {
    Id?: string;
    ETag?: string;
    History?: TccSimpleHistory;
}
export interface TccC4Node extends TccODataResult {
    Name: string;
    Description?: TccTranslation;
    DisplayName?: TccTranslation;
    System?: boolean;
    Icon?: TccIcon;
    SubPath?: string;
    Rights?: TccPermissions;
}
export interface TccSystemMessage {
    Code: string;
    Args?: string[];
}
export interface TccODataErrorSource extends TccSystemMessage {
    Class: string;
    Message: string;
    Http: number;
}
export interface TccError extends TccODataErrorSource {
    TranslatedMessage?: string;
}
export declare enum TccDocumentOrigin {
    ccDO_Unknown = "ccDO_Unknown",
    ccDO_Self = "ccDO_Self",
    ccDO_Api = "ccDO_Api",
    ccDO_File = "ccDO_File",
    ccDO_Scan = "ccDO_Scan",
    ccDO_Email = "ccDO_Email",
    ccDO_Messenger = "ccDO_Messenger",
    ccDO_Edi = "ccDO_Edi"
}
export declare enum TccStorageClass {
    ccSC_Unknown = "ccSC_Unknown",
    ccSC_Dynamic = "ccSC_Dynamic",
    ccSC_Archive = "ccSC_Archive",
    ccSC_Public = "ccSC_Public",
    ccSC_Work = "ccSC_Work",
    ccSC_Shared = "ccSC_Shared"
}
export declare enum TccViewBlobGeneration {
    ccVG_None = "ccVG_None",
    ccVG_Instant = "ccVG_Instant",
    ccVG_Asynchronous = "ccVG_Asynchronous"
}
export interface TccBlobLocation extends IExpandable {
    FStorageId: string;
    FStorageClass: TccStorageClass;
}
export type TccBarcodeList = TccBarcode[];
export interface TccBarcode {
    Value: string;
    Page: number;
    Zone: any;
}
export interface TccBarcodes {
    Recognized: boolean;
    Items: TccBarcodeList;
}
export interface TccBaseBlob extends IExpandable {
    Location?: TccBlobLocation;
    Size?: number;
    Name: string;
    Data?: any;
    Id: string;
    Hash?: string;
    MimeType?: string;
    FileName?: string;
    Link: string;
}
export interface TccAdvancedBlob extends TccBaseBlob {
    StorageClass: TccStorageClass;
    ViewBlobs?: Array<TccBaseBlob>;
    Barcodes?: TccBarcodes;
    Origin: TccDocumentOrigin;
    SortId: number;
    Upload?: TccBlobUpload;
}
export interface TccGeneratedViewblob {
    BlobId: string;
    ViewBlobs: TccBaseBlob[];
}
interface IBlobUpload {
    GenerateViewBlob?: TccViewBlobGeneration;
}
interface TccRawBlobUpload extends IBlobUpload {
    /**
     * BinaryString
     */
    BlobData: string;
}
interface TccIdBlobUpload extends IBlobUpload {
    /**
     * BlobId aus blob/upload
     */
    BlobId: string;
}
export type TccBlobUpload = TccIdBlobUpload | TccRawBlobUpload;
export interface TccIcon extends IExpandable {
    Id: string;
    Thumbnail?: TccBaseBlob;
    Image?: TccBaseBlob;
    Color?: string;
}
export interface TccSimpleHistory {
    Created: TccHistoryItem;
    Changed: TccHistoryItem;
}
export interface TccHistoryItem {
    Date: TccClarcDate;
    User: string;
    Name?: string;
}
export type TccHistory = TccHistoryItem[];
export interface TccStreet extends IExpandable {
    Apartment?: string;
    Name: string;
    Number: number;
    Addition?: string;
}
export declare enum TccCreditCardProvider {
    ccCP_None = "ccCP_None",
    ccCP_Visa = "ccCP_Visa",
    ccCP_MasterCard = "ccCP_MasterCard",
    ccCP_AmericanExpress = "ccCP_AmericanExpress"
}
export interface TccCreditCardValidity extends IExpandable {
    Month: number;
    Year: number;
}
export interface TccCreditCard extends IExpandable {
    Provider: TccCreditCardProvider;
    Number?: string;
    SecurityCode?: string;
    Owner?: string;
    Validity?: TccCreditCardValidity;
}
export interface TccTrustedDomain extends IExpandable {
    LastVerificationRetry: TccClarcDate;
    VerificationId: string;
    VerificationRetries: number;
    Trusted: boolean;
    VerificationString: string;
    Domain: string;
}
export declare enum TccAccessRight {
    "" = 0,
    C = 1,
    R = 2,
    CR = 3,
    U = 4,
    CU = 5,
    RU = 6,
    CRU = 7,
    D = 8,
    CD = 9,
    RD = 10,
    CRD = 11,
    UD = 12,
    CUD = 13,
    RUD = 14,
    CRUD = 15,
    X = 16,
    CX = 17,
    RX = 18,
    CRX = 19,
    UX = 20,
    CUX = 21,
    RUX = 22,
    CRUX = 23,
    DX = 24,
    CDX = 25,
    RDX = 26,
    CRDX = 27,
    UDX = 28,
    CUDX = 29,
    RUDX = 30,
    CRUDX = 31
}
export interface TccPermission extends IExpandable {
    Id: string;
    Rights: TccAccessRight;
}
export interface TccPermissions extends IExpandable {
    Owner: TccPermission;
    Members: Array<TccPermission>;
}
export interface TccAddress extends IExpandable {
    SurName?: string;
    ForeName?: string;
    Country?: string;
    Street?: TccStreet;
    Gender?: TccGender;
    City?: string;
    Additions?: string;
    Title?: string;
    PostCode?: string;
}
export interface TccCompanyAddress extends TccAddress {
    Company?: string;
    CompanyAddition?: string;
}
export declare enum TccGender {
    ccGT_Unknown = "ccGT_Unknown",
    ccGT_Male = "ccGT_Male",
    ccGT_Female = "ccGT_Female",
    ccGT_Diverse = "ccGT_Diverse"
}
export declare enum TccSystemClass {
    ccSC_Unknown = "ccSC_Unknown",
    ccSC_External = "ccSC_External",
    ccSC_Core = "ccSC_Core",
    ccSC_Productive = "ccSC_Productive",
    ccSC_Test = "ccSC_Test",
    ccSC_Development = "ccSC_Development",
    ccSC_Training = "ccSC_Training",
    ccSC_Sandbox = "ccSC_Sandbox"
}
export declare enum TccBpiDeliveryProfileType {
    ccBP_Sap = "ccBP_Sap",
    ccBP_Afi = "ccBP_Afi",
    ccBP_MicrosoftDynamics365BusinessCentral = "ccBP_MicrosoftDynamics365BusinessCentral",
    ccBP_MsDyn365BizCentral = "ccBP_MsDyn365BizCentral",
    ccBP_MicrosoftGraph = "ccBP_MicrosoftGraph",//Serverseitig Typo
    ccBP_Imap = "ccBP_Imap",
    ccBP_Mailbox = "ccBP_Mailbox",
    ccBP_FileSystem = "ccBP_FileSystem",
    ccBP_FileStorage = "ccBP_FileStorage",
    ccBP_Ecosio = "ccBP_Ecosio",
    ccBP_ClarcEnterprise = "ccBP_ClarcEnterprise",
    ccBP_EasyEnterpriseX = "ccBP_EasyEnterpriseX",
    ccBP_SapArchiveLink = "ccBP_SapArchiveLink",
    ccBP_Unknown = "ccBP_Unknown"
}
export declare enum TccOperatingState {
    ccOS_Unknown = "ccOS_Unknown",
    ccOS_New = "ccOS_New",
    ccOS_Active = "ccOS_Active",
    ccOS_Archived = "ccOS_Archived",
    ccOS_Deleted = "ccOS_Deleted"
}
export type TccPrimitiveValue = string | number | boolean | TccClarcDate;
export type TccDataTypeMap = {
    "ccDT_Binary": any;
    "ccDT_Boolean": boolean;
    "ccDT_DateTime": TccClarcDate;
    "ccDT_Float": number;
    "ccDT_Integer": number;
    "ccDT_String": string;
    "ccDT_Unknown": any;
};
export declare enum TccMessageType {
    ccMT_Unknown = "ccMT_Unknown",
    ccMT_Fatal = "ccMT_Fatal",// ccLL_Error
    ccMT_Critical = "ccMT_Critical",//  |
    ccMT_Error = "ccMT_Error",//  |
    ccMT_Warning = "ccMT_Warning",// ccLL_Warning
    ccMT_Notice = "ccMT_Notice",//  |
    ccMT_Info = "ccMT_Info",// ccLL_Info
    ccMT_Success = "ccMT_Success",//  |
    ccMT_User = "ccMT_User",//  |
    ccMT_Request = "ccMT_Request",//  |
    ccMT_Response = "ccMT_Response",//  |
    ccMT_Process = "ccMT_Process",//  |
    ccMT_Startup = "ccMT_Startup",//  |
    ccMT_Shutdown = "ccMT_Shutdown",//  |
    ccMT_Select = "ccMT_Select",//  |
    ccMT_Insert = "ccMT_Insert",//  |
    ccMT_Update = "ccMT_Update",//  |
    ccMT_Edit = "ccMT_Edit",//  |
    ccMT_Delete = "ccMT_Delete",//  |
    ccMT_Create = "ccMT_Create",//  |
    ccMT_Debug = "ccMT_Debug",// ccLL_Debug
    ccMT_Trace = "ccMT_Trace"
}
export declare enum TccNoteState {
    ccNS_Unknown = "ccNS_Unknown",
    ccNS_New = "ccNS_New",
    ccNS_Read = "ccNS_Read",
    ccNS_Done = "ccNS_Done",
    ccNS_Rejected = "ccNS_Rejected",
    ccNS_Deleted = "ccNS_Deleted"
}
export interface TccSimpleNote {
    Id: string;
    Message: TccMessageItem;
    User: string;
    State: TccNoteState;
    Date: TccClarcDate;
}
export interface TccMessageItem extends TccSystemMessage {
    Text: string;
    MsgType: TccMessageType;
}
export declare enum TccBoPropertyState {
    ccPS_None = "ccPS_None",
    ccPS_Verified = "ccPS_Verified",
    ccPS_Error = "ccPS_Error",
    ccPS_Warning = "ccPS_Warning",
    ccPS_Note = "ccPS_Note"
}
export interface TccZone {
    Rect: [number, number, number, number];
    Page: number;
}
export type TccBoPropertyValue = TccBoProperty.Property;
export interface TccBoProperties extends TccBoProperty.Properties {
}
export declare namespace TccBoProperty {
    interface ComplexValue extends Properties {
    }
    type PrimitiveValue = TccPrimitiveValue;
    type EnumValue = string | number | string[] | number[];
    interface iBoProperty {
        Zone?: TccZone;
        Confidence?: number;
        State?: TccBoPropertyState;
        Notes?: TccSimpleNote[];
    }
    interface Properties {
        [PropertyName: string]: Property;
    }
    type Property = Primitive | Enum | Complex | PrimitiveCollection | EnumCollection | ComplexCollection;
    interface Primitive extends iBoProperty {
        Value: PrimitiveValue;
    }
    interface Enum extends iBoProperty {
        Value: EnumValue;
    }
    interface Complex extends iBoProperty {
        Value: ComplexValue;
    }
    interface PrimitiveCollection extends iBoProperty {
        Value: PrimitiveValue[];
    }
    interface EnumCollection extends iBoProperty {
        Value: EnumValue[];
    }
    interface ComplexCollection extends iBoProperty {
        Value: Complex[];
    }
}
export declare enum TccScanTechnology {
    ccST_Unknown = "ccST_Unknown",
    ccST_Isis = "ccST_Isis",
    ccST_Twain = "ccST_Twain",
    ccST_Virtual = "ccST_Virtual"
}
export type TccBusinessType = _TccBusinessType;
export declare const TccBusinessType: typeof _TccBusinessType;
import { TccET_APPLI } from "./applications.model";
export interface ProcessingStatistics {
    States: ProcessingState[];
    Tasks: ProcessingTask[];
}
export interface ProcessingState {
    State: TccET_APPLI.State;
    Count: number;
}
export interface ProcessingTask {
    Task: TccET_APPLI.TasksPipeline;
    Count: number;
}
export declare enum MigrationObjectTypes {
    ccOT_FieldSchemes = "ccOT_FieldSchemes",
    ccOT_Groups = "ccOT_Groups",
    ccOT_Users = "ccOT_Users"
}
export declare enum TccFieldState {
    ccFS_Okay = "ccFS_Okay",
    ccFS_Error = "ccFS_Error",
    ccFS_Warning = "ccFS_Warning",
    ccFS_Note = "ccFS_Note"
}
export declare enum TccConnectionTypes {
    ccCT_Asynchronous = "ccCT_Asynchronous",
    ccCT_Synchronous = "ccCT_Synchronous"
}
export {};
