import * as Events from '@core/events';
import { TComponent, TComponentPropsMapping, TErrors, TEventReducedSchema, TEventsKeys, TField } from '@core/types';
import Base from '@core/managers/Base';
import Scope from '@core/managers/Scope';
declare class Field extends Base {
    #private;
    scope: Scope;
    constructor(observer: Events.Observer, component: TComponent, propsMapping: TComponentPropsMapping, scope: Scope);
    get value(): any;
    set value(value: any);
    get component(): TComponent;
    get componentProps(): Record<string, unknown>;
    set componentProps(props: Record<string, unknown>);
    get data(): TField;
    set data(data: TField);
    set visibility(visible: boolean);
    get scopedComponent(): TComponent;
    set scopedComponent(component: TComponent);
    get errors(): TErrors;
    set errors(errors: TErrors);
    get props(): Record<string, unknown>;
    get mappings(): TComponentPropsMapping;
    getFieldErrorMessages(data?: TField): string[];
    fieldHasError(errors?: TErrors): boolean;
    fieldValidationsHaveError(setErrorMessages?: boolean, event?: TEventsKeys): boolean;
    /**
     *
      Calculates and returns the version of the current scoped object for a given event
     */
    eventReducedSchema(event: TEventsKeys): TEventReducedSchema;
    rehydrate(customChecksum?: number | string | object): void;
}
export default Field;
