import React from 'react';
import { ArrayFieldItem } from './types';
import { JSONSchema7 } from 'json-schema';
interface CollapsibleItemProps {
    /**
     * Data from reach-jsonschema-form
     */
    item: ArrayFieldItem;
    /**
     * The index of the field in the array
     */
    index: number;
    /**
     * The value of the field
     */
    data: any;
    /**
     * Schema for the field
     */
    schema: JSONSchema7;
    /**
     * Schema for the entire form
     */
    formSchema: JSONSchema7;
    /**
     * Control whether items can be removed.
     */
    allowItemRemoval: boolean;
    /**
     * Whether this particular item can be reordered.
     */
    allowItemReorder: boolean;
}
export declare class CollapsibleItemTemplate extends React.Component<CollapsibleItemProps> {
    props: CollapsibleItemProps;
    state: {
        isOpen: boolean;
    };
    constructor(props: CollapsibleItemProps);
    private section;
    componentDidMount(): void;
    componentDidUpdate(): void;
    componentWillUnmount(): void;
    render(): React.ReactElement<{
        header: any;
        class: string;
        ref: (section: HTMLLimelCollapsibleSectionElement) => void;
        'is-open': boolean;
        'data-reorder-id': string;
        'data-reorderable': string;
    }, string | React.JSXElementConstructor<any>>;
    private setActions;
    private handleAction;
    private handleOpen;
    private isDeepEmpty;
}
export {};
//# sourceMappingURL=array-field-collapsible-item.d.ts.map