"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FieldPermission = exports.PageLinkType = exports.AllowedFilterOperator = exports.FieldType = void 0;
var FieldType;
(function (FieldType) {
    /**
     * JSON Number (Ex. 2 or 26.7)
     */
    FieldType["number"] = "number";
    /**
     * JSON String
     */
    FieldType["text"] = "text";
    /**
     * Wix Media or HTTP(S) url to an image,
     * image://...
     */
    FieldType["image"] = "image";
    /**
     * JSON Boolean (true, false)
     */
    FieldType["boolean"] = "boolean";
    /**
     * Wix Media link to a document, in form wix:media://...
     */
    FieldType["document"] = "document";
    /**
     * HTTP(S) URL as a JSON String
     */
    FieldType["url"] = "url";
    /**
     * Email address as a JSON String
     */
    FieldType["email"] = "email";
    /**
     * HTML String with tags allowed in Wix RichText.
     */
    FieldType["richText"] = "richtext";
    /**
     * Date type represented as an object with $date attribute
     * holding ISO 8601 string with UTC date.
     *
     * Example: { $date: '2018-04-01T00:00:00Z' }
     *
     * This will get transformed to JavaScript Date on the client side.
     * It is similar to 'dateTime', except for the time part:
     * time always is 00:00:00Z
     */
    FieldType["date"] = "date";
    /**
     * Date time type represented as an object with $date attribute
     * holding ISO 8601 string with UTC date.
     *
     * Example: { $date: '2018-04-01T00:00:00Z' }
     *
     * This will get transformed to JavaScript Date on the client side.
     */
    FieldType["dateTime"] = "datetime";
    /**
     * Wix Media link to video
     */
    FieldType["video"] = "video";
    /**
     * String ID to referenced item.
     *
     * If specified in a collection together with referencedCollectionName,
     * Wix Data will handle the includes by making additional request to
     * included collection using hasSome filter and passing down ids of the
     * items to be included.
     */
    FieldType["reference"] = "reference";
    /**
     * Multi-reference fields are not yet directly supported in DB Drivers.
     * Consult Wix Data team before trying to use it.
     */
    FieldType["multiReference"] = "multi-reference";
    /**
     * Relative URL to a page in a site.
     */
    FieldType["pageLink"] = "pagelink";
    /**
     * JSON Object as plain JSON.
     */
    FieldType["object"] = "object";
    /**
     * Gallery type for binding to Pro Gallery components.
     */
    FieldType["mediaGallery"] = "media-gallery";
    /**
     * Address type.
     * See https://docs.google.com/document/d/1pwZKxnBBxR1mBnJGiS6M6qSdjKd1YDJ2OAM4nHJjFS8/edit#heading=h.5ndfgx3b0knm
     *
     * Items should at very least contain 'formatted' property.
     */
    FieldType["address"] = "address";
    /**
     * Array of strings type.
     */
    FieldType["stringArray"] = "array<string>";
    /**
     * JSON Color Hex String
     */
    FieldType["color"] = "color";
    /**
     * Wix Media link to audio
     */
    FieldType["audio"] = "audio";
    /**
     * JSON String holding time in a following format: '00:00:00'
     */
    FieldType["time"] = "time";
    /**
     * Array
     */
    FieldType["array"] = "array";
    /**
     * RichContent type for binding to RichContentEditor/RichContentViewer components
     * based on Ricos https://github.com/wix-incubator/rich-content
     */
    FieldType["richContent"] = "rich-content";
    /**
     * Text string holding language name in which row content is translated. Complies with BCP47 standard: https://tools.ietf.org/html/bcp47#appendix-A
     */
    FieldType["language"] = "language";
    /**
     * Array of documents, see {@link FieldType.document}
     */
    FieldType["documentArray"] = "array<document>";
    /**
     * Any JSON data type
     */
    FieldType["any"] = "any";
    /**
     * Slug type used for dynamic page URLs.
     */
    FieldType["slug"] = "slug";
    FieldType["legacyBook"] = "bookType";
    FieldType["legacyExternalUrl"] = "externalUrl";
    FieldType["legacyBrokenRef"] = "broken-reference";
    FieldType["legacyExternalVideo"] = "externalVideo";
    FieldType["legacyImage"] = "Image";
})(FieldType = exports.FieldType || (exports.FieldType = {}));
var AllowedFilterOperator;
(function (AllowedFilterOperator) {
    AllowedFilterOperator["eq"] = "eq";
    AllowedFilterOperator["ne"] = "ne";
    AllowedFilterOperator["lt"] = "lt";
    AllowedFilterOperator["lte"] = "lte";
    AllowedFilterOperator["gt"] = "gt";
    AllowedFilterOperator["gte"] = "gte";
    AllowedFilterOperator["hasSome"] = "hasSome";
    AllowedFilterOperator["hasAll"] = "hasAll";
    AllowedFilterOperator["contains"] = "contains";
    AllowedFilterOperator["startsWith"] = "startsWith";
    AllowedFilterOperator["endsWith"] = "endsWith";
    AllowedFilterOperator["urlized"] = "urlized";
    AllowedFilterOperator["exists"] = "exists";
})(AllowedFilterOperator = exports.AllowedFilterOperator || (exports.AllowedFilterOperator = {}));
var PageLinkType;
(function (PageLinkType) {
    PageLinkType["COLLECTION_DEFINED"] = "COLLECTION_DEFINED";
    PageLinkType["ROUTER_DEFINED"] = "ROUTER_DEFINED";
})(PageLinkType = exports.PageLinkType || (exports.PageLinkType = {}));
var FieldPermission;
(function (FieldPermission) {
    /** No special permissions required to read the field (visitors) */
    FieldPermission[FieldPermission["ANYONE"] = 0] = "ANYONE";
    /**
     * Special permissions required to read the field (members, contributors, etc.)
     */
    FieldPermission[FieldPermission["RESTRICTED"] = 1] = "RESTRICTED";
})(FieldPermission = exports.FieldPermission || (exports.FieldPermission = {}));
//# sourceMappingURL=field.js.map