import { Channel } from './channel'; import { FieldInfo, FieldLinkType, Items, SerializedJSONValue } from './types'; import { ArrayFieldAPI, BasicFieldAPI, FieldAPI, LinkFieldAPI } from './types/field-locale.types'; import { ArrayFieldInfo, BasicFieldInfo, LinkFieldInfo } from './types/field.types'; import { ValidationError } from './types/validation-error'; declare class BaseFieldLocale { id: string; name: string; locale: string; required: boolean; validations: any[]; private _value; private _valueSignal; private _isDisabledSignal; private _schemaErrorsChangedSignal; private _channel; constructor(channel: Channel, info: FieldInfo); getValue(): any; setValue(value: any): Promise; removeValue(): Promise; setInvalid(isInvalid: boolean): Promise; onValueChanged(handler: (value: any) => any): () => boolean; getIsDisabled(): boolean; onIsDisabledChanged(handler: (isDisabled: boolean) => any): () => boolean; getSchemaErrors(): ValidationError[]; onSchemaErrorsChanged(handler: (errors: ValidationError[]) => void): () => boolean; } export declare class BasicFieldLocale extends BaseFieldLocale implements BasicFieldAPI { type: BasicFieldAPI['type']; constructor(channel: Channel, info: BasicFieldInfo); } export declare class ArrayFieldLocale extends BaseFieldLocale implements ArrayFieldAPI { type: ArrayFieldAPI['type']; items: Items; constructor(channel: Channel, info: ArrayFieldInfo); } export declare class LinkFieldLocale extends BaseFieldLocale implements LinkFieldAPI { type: LinkFieldAPI['type']; linkType: FieldLinkType; constructor(channel: Channel, info: LinkFieldInfo); } export declare function makeFieldLocale(channel: Channel, info: FieldInfo): FieldAPI; export {};