"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.QueryBuilderAttributeType = exports.SortingType = void 0;
var prop_types_1 = __importDefault(require("prop-types"));
var SortingType = prop_types_1.default.shape({
    field: prop_types_1.default.string,
    order: prop_types_1.default.oneOf(['asc', 'desc'])
});
exports.SortingType = SortingType;
var AttrType = prop_types_1.default.shape({
    label: prop_types_1.default.string,
    name: prop_types_1.default.string,
    description: prop_types_1.default.string,
    type: prop_types_1.default.string,
    hidden: prop_types_1.default.bool,
    faceted: prop_types_1.default.bool,
    searchable: prop_types_1.default.bool,
    uri: prop_types_1.default.string,
    access: prop_types_1.default.arrayOf(prop_types_1.default.string),
    cardinality: prop_types_1.default.shape({
        minValue: prop_types_1.default.number,
        maxValue: prop_types_1.default.number
    })
});
var QueryBuilderAttributeDataType = prop_types_1.default.shape({
    title: prop_types_1.default.string,
    pathToTitle: prop_types_1.default.arrayOf(prop_types_1.default.string),
    fieldName: prop_types_1.default.string,
    entityTypeUri: prop_types_1.default.string,
    attrType: AttrType,
    uri: prop_types_1.default.string,
    groupName: prop_types_1.default.string
});
var QueryBuilderAttributeType = prop_types_1.default.shape({
    id: prop_types_1.default.oneOfType([prop_types_1.default.number, prop_types_1.default.string]),
    values: prop_types_1.default.array,
    data: QueryBuilderAttributeDataType,
    filter: prop_types_1.default.string,
    operator: prop_types_1.default.string
});
exports.QueryBuilderAttributeType = QueryBuilderAttributeType;
