import { APIMetaFieldPropertyFormatEnums, RollUpFuncType, TSymbolAlign } from "../enums"; import { IFormat } from "./field.property"; export interface IOpenSingleTextFieldProperty { defaultValue?: string; } export interface IOpenNumberFieldProperty { defaultValue?: string; precision: number; symbol?: string; } export interface IOpenCheckboxFieldProperty { icon: string; } export interface IOpenRatingFieldProperty { /** Maximum value 1 - 10. */ max: number; /** Emoji slug. */ icon: string; } export interface IOpenPercentFieldProperty { /** New record default value. */ defaultValue?: string; /** Retain decimal places. */ precision: number; } export interface IOpenCurrencyFieldProperty { /** New record default value. */ defaultValue?: string; /** Unit. */ symbol: string; /** Retain decimal places. */ precision: number; /** Unit alignment. */ symbolAlign?: TSymbolAlign; } export declare type IMultiSelectedIds = string[]; export interface IWriteOpenSelectBaseFieldProperty { defaultValue?: string | IMultiSelectedIds; /** Option Configuration. */ options: { id?: string; name: string; /** color name */ color?: string; }[]; } export interface IOpenDateTimeFieldProperty { dateFormat: string; timeFormat?: string; /** Whether to automatically fill in the creation time when adding a record. */ autoFill?: boolean; includeTime?: boolean; } export declare type IAddOpenTextFieldProperty = null; export declare type IAddOpenURLFieldProperty = null; export declare type IAddOpenEmailFieldProperty = null; export declare type IAddOpenPhoneFieldProperty = null; export declare type IAddOpenSingleTextFieldProperty = IOpenSingleTextFieldProperty; export declare type IAddOpenNumberFieldProperty = IOpenNumberFieldProperty; export declare type IAddOpenCheckboxFieldProperty = IOpenCheckboxFieldProperty; export declare type IAddOpenRatingFieldProperty = IOpenRatingFieldProperty; export declare type IAddOpenPercentFieldProperty = IOpenPercentFieldProperty; export declare type IAddOpenCurrencyFieldProperty = IOpenCurrencyFieldProperty; export declare type IAddOpenSingleSelectFieldProperty = IWriteOpenSelectBaseFieldProperty; export declare type IAddOpenMultiSelectFieldProperty = IWriteOpenSelectBaseFieldProperty; export interface IAddOpenMemberFieldProperty { isMulti?: boolean; /** Whether to send notifications. */ shouldSendMsg?: boolean; } export declare type IAddOpenDateTimeFieldProperty = IOpenDateTimeFieldProperty; export declare type IAddOpenAttachmentFieldProperty = null; export interface IAddOpenMagicLinkFieldProperty { /** Association datasheet ID, switch the association datasheet, the previous brotherField will be converted to a text field */ foreignDatasheetId: string; /** Specify the view ID to filter the records. */ limitToViewId?: string; /** Whether to restrict selection to a single record. */ limitSingleRecord?: boolean; } export interface IOpenComputedFormat { type: APIMetaFieldPropertyFormatEnums; format: IFormat; } export interface IAddOpenMagicLookUpFieldProperty { /** Associated field ID of the referenced current datasheet. */ relatedLinkFieldId: string; /** Field ID of the query in the correlation datasheet. */ targetFieldId: string; /** Aggregate functions. */ rollupFunction?: RollUpFuncType; /** Format, which varies due to differences in the referenced fields (number, percent, date, currency) */ format?: IOpenComputedFormat; } export interface IAddOpenFormulaFieldProperty { /** Formula expressions. */ expression?: string; /** * The calculated value may not be obtained properly when the relevant field on which * the formula depends is deleted or converted to a type. */ format?: IOpenComputedFormat; } export declare type IAddOpenAutoNumberFieldProperty = null; export declare type IOpenCreatedTimeFieldProperty = Omit; export declare type IAddOpenCreatedTimeFieldProperty = IOpenCreatedTimeFieldProperty; export declare enum CollectType { AllFields = 0, SpecifiedFields = 1 } export interface IAddOpenLastModifiedTimeFieldProperty { dateFormat: string; timeFormat?: string; includeTime?: boolean; /** Specify the field type: 0 All editable, 1 Specify the field */ collectType?: CollectType; /** Whether to specify the field, array type can specify more than one field, not fill for all. */ fieldIdCollection?: string[]; } export declare type IAddOpenCreatedByFieldProperty = null; export interface IAddOpenLastModifiedByFieldProperty { /** Specify the field type: 0 All editable, 1 Specify the field. */ collectType?: CollectType; /** Whether to specify the field, array type can specify more than one field, not fill for all. */ fieldIdCollection?: string[]; } export declare type IAddOpenFieldProperty = IAddOpenTextFieldProperty | IAddOpenURLFieldProperty | IAddOpenEmailFieldProperty | IAddOpenPhoneFieldProperty | IAddOpenSingleTextFieldProperty | IAddOpenNumberFieldProperty | IAddOpenCheckboxFieldProperty | IAddOpenRatingFieldProperty | IAddOpenPercentFieldProperty | IAddOpenCurrencyFieldProperty | IAddOpenSingleSelectFieldProperty | IAddOpenMultiSelectFieldProperty | IAddOpenMemberFieldProperty | IAddOpenDateTimeFieldProperty | IAddOpenAttachmentFieldProperty | IAddOpenMagicLinkFieldProperty | IAddOpenMagicLookUpFieldProperty | IAddOpenFormulaFieldProperty | IAddOpenAutoNumberFieldProperty | IAddOpenCreatedTimeFieldProperty | IAddOpenLastModifiedTimeFieldProperty | IAddOpenCreatedByFieldProperty | IAddOpenLastModifiedByFieldProperty;