import { IDataTableQuery } from '../../../../../_common';
import { ITenantEntityType } from '../AttributeSets';
import { ITenantETLAttributeSetMap } from '../ETLAttributeSetMaps';
import { ITenantAttributeScope } from '../Scopes';
import { ITenantAttributeLanguage } from '../Languages';
import { ITenantETLAttributeMap } from '../ETLAttributeMaps';
import { IDataHubAwareEntityInterface } from '../../common';

export declare enum ETL_PROCESS_STATUS {
    TODO = 1,
    ERROR = 2,
    DONE = 3,
    FROZEN = 4,
    AWAITING_CONFIRMATION = 5,
    SYNCHRONOUS = 6,
    AWAITING_DIFFERENT_CONFIRMATION = 7,
    SEMI_AUTOMATIC_ACCEPTED = 8
}
export interface IEtlProcessesDataTableQuery extends IDataTableQuery {
    /** enter the status number whose processes you'll like to get */
    status?: number;
    source?: number;
}
/** Actindo.Modules.Actindo.DataHub.Models.Tenant.Dependencies */
export interface ITenantDependencies {
    entityId: number;
    dependentEntityId: number;
    entityType: ITenantEntityType;
    dependentEntityType: ITenantEntityType;
    changeTracking: number;
    dependentEntity: IDataHubAwareEntityInterface;
    sourceEntity: IDataHubAwareEntityInterface;
    etlAttributeSetMap: ITenantETLAttributeSetMap;
    id: number;
}
/** Actindo.Modules.Actindo.DataHub.Models.Tenant.ETLProcess */
export interface ITenantETLProcess {
    updated: string;
    sourceEntityType: {
        name: string;
    };
    sourceEntityId: number;
    destinationEntityType: {
        name: string;
    };
    destinationEntityId: number;
    destinationScope: ITenantAttributeScope;
    destinationLanguage: ITenantAttributeLanguage;
    dependency: ITenantDependencies;
    etlAttributeMap: ITenantETLAttributeMap;
    status: ETL_PROCESS_STATUS;
    error: string;
    createdBy: number;
    acceptedBy: number;
    accepted: string;
    sourceEntityFriendlyIdentifier: string;
    destinationEntityFriendlyIdentifier: string;
    id: number;
}
