import * as React from 'react'; import { UiItem } from '../../schema'; import { FieldProps } from '../field'; import { Context } from '../context'; import { ItemSchema } from '../../schema'; import { Rule } from '../../inputRules'; export declare abstract class Widget { name: string; protected context: Context; protected fieldProps: FieldProps; protected children: React.ReactNode; protected _itemSchema: ItemSchema; protected _ui: UiItem; protected defaultValue: any; protected rules: Rule[]; protected readOnly: boolean; disabled: boolean; errors: string[]; contextErrors: string[]; get hasError(): boolean; visible: boolean; value: any; constructor(context: Context, itemSchema: ItemSchema, fieldProps: FieldProps, children: React.ReactNode); protected get itemSchema(): ItemSchema; protected get ui(): UiItem; init(): void; protected buildRules(): void; checkRules(): void; get isOk(): boolean; setError(err: string | string[]): void; setContextError(err: string | string[]): void; clearError(): void; clearContextError(): void; protected parse(value: any): any; protected setElementValue(value: any): void; protected setDataValue(value: any): void; setValue(value: any): void; getValue(): any; getReadOnly(): boolean; getDisabled(): boolean; getVisible(): boolean; setReadOnly(value: boolean): void; setDisabled(value: boolean): void; setVisible(value: boolean): void; private isChanging; protected onInputChange: (evt: React.ChangeEvent) => void; protected changeValue(newValue: any, fromElement: boolean): void; protected get className(): string; protected abstract render(): JSX.Element; protected renderBody(): JSX.Element; container: () => JSX.Element; protected get label(): string; protected renderTemplet(): JSX.Element | undefined; protected renderErrors(): React.ReactElement<{ key: string; className: string; }, string | React.JSXElementConstructor>[]; }