import type { IFieldVo } from '@teable/core'; import type { Doc } from 'sharedb/lib/client'; import { AttachmentField } from './attachment.field'; import { AutoNumberField } from './auto-number.field'; import { ButtonField } from './button.field'; import { CheckboxField } from './checkbox.field'; import { CreatedByField } from './created-by.field'; import { CreatedTimeField } from './created-time.field'; import { DateField } from './date.field'; import { FormulaField } from './formula.field'; import { LastModifiedByField } from './last-modified-by.field'; import { LastModifiedTimeField } from './last-modified-time.field'; import { LinkField } from './link.field'; import { LongTextField } from './long-text.field'; import { MultipleSelectField } from './multiple-select.field'; import { NumberField } from './number.field'; import { RatingField } from './rating.field'; import { RollupField } from './rollup.field'; import { SingleLineTextField } from './single-line-text.field'; import { SingleSelectField } from './single-select.field'; import { UserField } from './user.field'; export declare function createFieldInstance(field: IFieldVo, doc?: Doc): AttachmentField | AutoNumberField | ButtonField | CheckboxField | CreatedByField | CreatedTimeField | DateField | FormulaField | LastModifiedByField | LastModifiedTimeField | LinkField | LongTextField | MultipleSelectField | NumberField | RatingField | RollupField | SingleLineTextField | SingleSelectField | UserField; export type IFieldInstance = ReturnType;