import
{
    AttributeResponseDTO,
    NameValuePairDTO,
    WSValueType,
    ResponseContainerDTO,
    ObjectTypeResponseContainerDTO
} from "./Windream.WebService";


export interface IAttributesController
{
    GetAttributes(parameter: AttributeFlagsValuesDTO): GetAttributesResponseContainerDTO;
}

export const enum AttributeFlagsDTO
{
    NonSortable = 256
}

export interface AttributeFlagsValuesDTO
{
    AttributeFlags: AttributeFlagsDTO;
    Values: string[];
}

export interface GetAttributesResponseContainerDTO extends ResponseContainerDTO
{
    Attributes: AttributeResponseDTO[];
}

export interface GetAllAttributesResponseContainerDTO extends ResponseContainerDTO
{
    RelationalAttributes: AttributeResponseDTO[];
    SystemAttributes: AttributeResponseDTO[];
    TypeSpecificAttributes: ObjectTypeResponseContainerDTO[];
    VirtualAttributes: AttributeResponseDTO[];
}