import React from 'react';
import { FieldProps } from '@rjsf/utils';
import { FormSchema } from '../form.types';
import { RowLayoutContext } from '../row/row-context';
/**
 * Create properties from the factory that is set on `limel-form`
 *
 * @param formContext - the form context
 * @param schema - the schema for the current field
 * @returns the properties created by the factory
 */
export declare function getFactoryProps(formContext: any, schema: FormSchema): Record<string, any>;
export declare class SchemaField extends React.Component<FieldProps> {
    static readonly contextType: React.Context<boolean>;
    context: React.ContextType<typeof RowLayoutContext>;
    state: {
        modified: boolean;
    };
    constructor(props: any);
    private isInvalid;
    private getHelperText;
    private handleCustomComponentChange;
    private handleChange;
    /**
     * RJSF v6's built-in ArrayField shares one onChange handler across all
     * descendants, so changes to leaves deep inside an array item bubble
     * through this SchemaField with a path that is deeper than its own.
     * The enclosing ArrayField rebuilds the affected item and runs
     * `resetDependentFields` at the item level (see array-field.ts), so we
     * must pass the partial leaf data through untouched here.
     * @param path
     */
    private isDeepLeafChange;
    private buildCustomComponentProps;
    private renderCustomComponent;
    render(): React.FunctionComponentElement<any> | React.ReactElement<FieldProps<any, import("@rjsf/utils").RJSFSchema, any>, string | React.JSXElementConstructor<any>>;
}
//# sourceMappingURL=schema-field.d.ts.map