import { IApiSuccess } from '../../../../../_common';
import { IDataTypesAttributeConfigurationAbstract } from '../../common';
import { ITenantAttribute } from '../Attributes';
import { ITenantAttributeSet } from '../AttributeSets';

/** Actindo.Modules.Actindo.DataHub.Models.Tenant.VariantSet */
export interface ITenantVariantSet<T extends IDataTypesAttributeConfigurationAbstract = IDataTypesAttributeConfigurationAbstract> {
    name: string;
    underlyingAttributeSet: ITenantAttributeSet;
    underlyingAttributeSetId: number;
    definingAttributes: ITenantAttribute<T>[];
    definingAttributeIds: number[];
    changeableAttributes: ITenantAttribute<T>[];
    changeableAttributeIds: number[];
    created: string;
    createdBy: number;
    createdByUsername: string;
    modified: string;
    modifiedBy: number;
    modifiedByUsername: string;
    formulas: {
        sku?: string;
    };
    version: number;
    readOnly: boolean;
    ownerPluginId: number;
    ownerPluginName: string;
    forceLocaleNextCall: unknown;
    entityId: number;
    etlDependencies: unknown;
    variantInformation: unknown;
    synchronousSync: boolean;
    compareOldValue: boolean;
    id: number;
}
export interface IDestinationAndSourceSets<T extends IDataTypesAttributeConfigurationAbstract = IDataTypesAttributeConfigurationAbstract> extends IApiSuccess {
    sourceVariantSets: ITenantVariantSet<T>[];
    destinationVariantSets: ITenantVariantSet<T>[];
}
