/**
* Synapse REST API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: v1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import type { FacetColumnSortConfig } from './FacetColumnSortConfig';
import type { JsonSubColumnModel } from './JsonSubColumnModel';
/**
* A column model contains the metadata of a single column of a table or view.
* @export
* @interface ColumnModel
*/
export interface ColumnModel {
/**
* The display name of the column
* @type {string}
* @memberof ColumnModel
*/
name?: string;
/**
* The column type determines the type of data that can be stored in a column. Switching between types (using a transaction with TableUpdateTransactionRequest in the "changes" list) is generally allowed except for switching to "_LIST" suffixed types. In such cases, a new column must be created and data must be copied over manually
* @type {string}
* @memberof ColumnModel
*/
columnType?: ColumnModelColumnTypeEnum;
/**
* Set to one of the enumerated values to indicate a column should be treated as a facet
* @type {string}
* @memberof ColumnModel
*/
facetType?: ColumnModelFacetTypeEnum;
/**
*
* @type {FacetColumnSortConfig}
* @memberof ColumnModel
*/
facetSortConfig?: FacetColumnSortConfig;
/**
* The immutable ID issued to new columns
* @type {string}
* @memberof ColumnModel
*/
id?: string;
/**
* The default value for this column. Columns of type ENTITYID, FILEHANDLEID, USERID, and LARGETEXT are not allowed to have default values.
* @type {string}
* @memberof ColumnModel
*/
defaultValue?: string;
/**
* A parameter for columnTypes with a maximum size. For example, ColumnType.STRINGs have a default maximum size of 50 characters, but can be set to a maximumSize of 1 to 1000 characters. For columnType of STRING_LIST, this limits the size of individual string elements in the list
* @type {number}
* @memberof ColumnModel
*/
maximumSize?: number;
/**
* Required if using a columnType with a "_LIST" suffix. Describes the maximum number of values that will appear in that list. The maximum allowed value is determined by a total character budget of 100,000: for STRING_LIST, maximumListLength * maximumSize must not exceed 100,000; for other list types the per-element character size is fixed (INTEGER_LIST/DATE_LIST/USERID_LIST: 20, BOOLEAN_LIST: 5, ENTITYID_LIST: 44) and maximumListLength * that size must not exceed 100,000. Default 100.
* @type {number}
* @memberof ColumnModel
*/
maximumListLength?: number;
/**
* Columns of type STRING can be constrained to an enumeration values set on this list. The maximum number of entries for an enum is 100
* @type {Array}
* @memberof ColumnModel
*/
enumValues?: Array;
/**
* For column of type JSON that represents the combination of multiple sub-columns, this property is used to define each sub-column.
* @type {Array}
* @memberof ColumnModel
*/
jsonSubColumns?: Array;
}
/**
* @export
*/
export declare const ColumnModelColumnTypeEnum: {
readonly STRING: "STRING";
readonly DOUBLE: "DOUBLE";
readonly INTEGER: "INTEGER";
readonly BOOLEAN: "BOOLEAN";
readonly DATE: "DATE";
readonly FILEHANDLEID: "FILEHANDLEID";
readonly ENTITYID: "ENTITYID";
readonly SUBMISSIONID: "SUBMISSIONID";
readonly EVALUATIONID: "EVALUATIONID";
readonly LINK: "LINK";
readonly MEDIUMTEXT: "MEDIUMTEXT";
readonly LARGETEXT: "LARGETEXT";
readonly USERID: "USERID";
readonly STRING_LIST: "STRING_LIST";
readonly INTEGER_LIST: "INTEGER_LIST";
readonly BOOLEAN_LIST: "BOOLEAN_LIST";
readonly DATE_LIST: "DATE_LIST";
readonly ENTITYID_LIST: "ENTITYID_LIST";
readonly USERID_LIST: "USERID_LIST";
readonly JSON: "JSON";
};
export type ColumnModelColumnTypeEnum = typeof ColumnModelColumnTypeEnum[keyof typeof ColumnModelColumnTypeEnum];
/**
* @export
*/
export declare const ColumnModelFacetTypeEnum: {
readonly enumeration: "enumeration";
readonly range: "range";
};
export type ColumnModelFacetTypeEnum = typeof ColumnModelFacetTypeEnum[keyof typeof ColumnModelFacetTypeEnum];
/**
* Check if a given object implements the ColumnModel interface.
*/
export declare function instanceOfColumnModel(value: object): value is ColumnModel;
export declare function ColumnModelFromJSON(json: any): ColumnModel;
export declare function ColumnModelFromJSONTyped(json: any, ignoreDiscriminator: boolean): ColumnModel;
export declare function ColumnModelToJSON(json: any): ColumnModel;
export declare function ColumnModelToJSONTyped(value?: ColumnModel | null, ignoreDiscriminator?: boolean): any;