/**
 * Webitel API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 24.04.0
 * Contact: support@webitel.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { WebitelProtoDataTypeBinary } from './webitel-proto-data-type-binary';
import { WebitelProtoDataTypeDatetime } from './webitel-proto-data-type-datetime';
import { WebitelProtoDataTypeDuration } from './webitel-proto-data-type-duration';
import { WebitelProtoDataTypeFloat } from './webitel-proto-data-type-float';
import { WebitelProtoDataTypeInt } from './webitel-proto-data-type-int';
import { WebitelProtoDataTypeKind } from './webitel-proto-data-type-kind';
import { WebitelProtoDataTypeLookup } from './webitel-proto-data-type-lookup';
import { WebitelProtoDataTypeText } from './webitel-proto-data-type-text';
import { WebitelProtoDataTypeUint } from './webitel-proto-data-type-uint';
/**
 * Field of the struct.
 * @export
 * @interface WebitelProtoDataField
 */
export interface WebitelProtoDataField {
    /**
     * Always signifies that the field value will be computed on any write (INSERT OR UPDATE) operations. The field cannot be written to, and when read the result of the last generated expression will be returned.  The generation expression can refer to other columns in the table, but not other generated columns. Any functions and operators used must be immutable. References to other tables are not allowed.
     * @type {object}
     * @memberof WebitelProtoDataField
     */
    always?: object;
    /**
     *
     * @type {WebitelProtoDataTypeBinary}
     * @memberof WebitelProtoDataField
     */
    binary?: WebitelProtoDataTypeBinary;
    /**
     *
     * @type {object}
     * @memberof WebitelProtoDataField
     */
    bool?: object;
    /**
     *
     * @type {WebitelProtoDataTypeDatetime}
     * @memberof WebitelProtoDataField
     */
    datetime?: WebitelProtoDataTypeDatetime;
    /**
     * The `default` expression will be used in `INSERT` operation that does not specify a value for the field.  If there is no default for a field, then the default is null.
     * @type {object}
     * @memberof WebitelProtoDataField
     */
    _default?: object;
    /**
     *
     * @type {boolean}
     * @memberof WebitelProtoDataField
     */
    disabled?: boolean;
    /**
     *
     * @type {WebitelProtoDataTypeDuration}
     * @memberof WebitelProtoDataField
     */
    duration?: WebitelProtoDataTypeDuration;
    /**
     *
     * @type {WebitelProtoDataTypeFloat}
     * @memberof WebitelProtoDataField
     */
    _float?: WebitelProtoDataTypeFloat;
    /**
     *
     * @type {WebitelProtoDataTypeFloat}
     * @memberof WebitelProtoDataField
     */
    float32?: WebitelProtoDataTypeFloat;
    /**
     *
     * @type {WebitelProtoDataTypeFloat}
     * @memberof WebitelProtoDataField
     */
    float64?: WebitelProtoDataTypeFloat;
    /**
     *
     * @type {boolean}
     * @memberof WebitelProtoDataField
     */
    hidden?: boolean;
    /**
     * Short description. Default: {name}.
     * @type {string}
     * @memberof WebitelProtoDataField
     */
    hint?: string;
    /**
     * Field [code] name.  code
     * @type {string}
     * @memberof WebitelProtoDataField
     */
    id?: string;
    /**
     *
     * @type {WebitelProtoDataTypeInt}
     * @memberof WebitelProtoDataField
     */
    _int?: WebitelProtoDataTypeInt;
    /**
     *
     * @type {WebitelProtoDataTypeInt}
     * @memberof WebitelProtoDataField
     */
    int32?: WebitelProtoDataTypeInt;
    /**
     *
     * @type {WebitelProtoDataTypeInt}
     * @memberof WebitelProtoDataField
     */
    int64?: WebitelProtoDataTypeInt;
    /**
     *
     * @type {WebitelProtoDataTypeKind}
     * @memberof WebitelProtoDataField
     */
    kind?: WebitelProtoDataTypeKind;
    /**
     *
     * @type {WebitelProtoDataTypeLookup}
     * @memberof WebitelProtoDataField
     */
    lookup?: WebitelProtoDataTypeLookup;
    /**
     * Title of the field. Lang specific.  title
     * @type {string}
     * @memberof WebitelProtoDataField
     */
    name?: string;
    /**
     * Optional. Disable any write (INSERT OR UPDATE) operations. READONLY signifies that the field value will be always computed on any write (INSERT OR UPDATE) operations. If selected, the `default` value MUST be specified.  FIXME: Is base field ? [ id, created_, updated_ ]
     * @type {boolean}
     * @memberof WebitelProtoDataField
     */
    readonly?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof WebitelProtoDataField
     */
    required?: boolean;
    /**
     *
     * @type {WebitelProtoDataTypeText}
     * @memberof WebitelProtoDataField
     */
    richtext?: WebitelProtoDataTypeText;
    /**
     *
     * @type {WebitelProtoDataTypeText}
     * @memberof WebitelProtoDataField
     */
    string?: WebitelProtoDataTypeText;
    /**
     *
     * @type {WebitelProtoDataTypeUint}
     * @memberof WebitelProtoDataField
     */
    uint?: WebitelProtoDataTypeUint;
    /**
     *
     * @type {WebitelProtoDataTypeUint}
     * @memberof WebitelProtoDataField
     */
    uint32?: WebitelProtoDataTypeUint;
    /**
     *
     * @type {WebitelProtoDataTypeUint}
     * @memberof WebitelProtoDataField
     */
    uint64?: WebitelProtoDataTypeUint;
}
//# sourceMappingURL=webitel-proto-data-field.d.ts.map