import { TccET_APPLI } from "./applications.model";
import { TccAccessRight, TccC4Node, TccOperatingState, TccStorageClass, TccODataResult, TccClarcDate, TccBoProperties, TccPermissions, TccAdvancedBlob, TccSimpleNote, TccHistory } from "./shared.model";
export declare namespace TccET_ECM {
    enum AntivirusEngine {
        ccAE_None = "ccAE_None",
        ccAE_ClamAV = "ccAE_ClamAV"
    }
    enum AntivirusResult {
        ccAR_Unknown = "ccAR_Unknown",
        ccAR_Clean = "ccAR_Clean",
        ccAR_Suspicious = "ccAR_Suspicious",
        ccAR_Threat = "ccAR_Threat"
    }
    interface Repository extends TccC4Node {
        BusinessObjects: string[];
        ExplicitPermissions?: boolean;
        Versioning?: boolean;
        CollectionName?: string;
        RetentionTime?: number;
        DefaultOwnerRights?: TccAccessRight;
        ChangeLock?: boolean;
        ThreatProtection?: boolean;
        StorageClass: TccStorageClass;
    }
    interface ThreatState {
        FEngine: AntivirusEngine;
        FDate: TccClarcDate;
        FResult: AntivirusResult;
        FThreat: string;
    }
    interface TccBusinessObjectLink {
        Item: Item;
        Uri: string;
    }
    interface TccBusinessObjectAttribute {
        Name: string;
        Value: any;
        TypeDef: any;
    }
    interface Item extends TccODataResult {
        Version?: string;
        State?: TccOperatingState;
        Subject?: string;
        Properties?: TccBoProperties;
        ClassId?: string;
        RootId?: string;
        ThreatState?: ThreatState;
        Notes?: TccSimpleNote[];
        LockDate?: TccClarcDate;
        LatestVersion?: boolean;
        ExternalId?: string;
        Blobs?: TccAdvancedBlob[];
        TypeId?: string;
        Attributes?: TccBusinessObjectAttribute;
        Rights?: TccPermissions;
        Links?: TccBusinessObjectLink[];
        BackupState?: TccOperatingState;
        ChangeLog?: TccHistory;
        DeleteDate?: TccClarcDate;
        SubTypeId?: string;
        FolderId?: string;
        Origin?: TccET_APPLI.Origin;
        LastViewed?: TccClarcDate;
        HoldIds?: string[];
    }
}
