import JSONSchemaField from '@rjsf/core/lib/components/fields/SchemaField';
import React from 'react';
import { FieldProps } from './types';
import { FormSchema } from '../form.types';
/**
 * 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> {
    state: {
        modified: boolean;
    };
    constructor(props: any);
    private hasValue;
    private getLabel;
    private isInvalid;
    private isRequired;
    private getHelperText;
    private getValue;
    private handleCustomComponentChange;
    private handleChange;
    private buildCustomComponentProps;
    private renderCustomComponent;
    render(): React.FunctionComponentElement<any> | React.CElement<import("@rjsf/core/lib/components/fields/SchemaField").SchemaFieldProps<any>, JSONSchemaField>;
    /**
     * Gets the path to the current property within the schema
     *
     * @param schemaId - the id of the schema
     * @returns an array with the schema path for the current property
     * @example
     * const schemaId = 'root_sections_0_controls_0_name';
     * const schemaPath = getSchemaPath(schemaId);
     * // ➡ ['sections', '0', 'controls', '0', 'name']
     */
    private getSchemaPath;
}
//# sourceMappingURL=schema-field.d.ts.map