import React, { PropsWithChildren } from 'react';
import { ArrayFieldItemButtonsTemplateProps } from '@rjsf/utils';
import { JSONSchema7 } from 'json-schema';
export interface CollapsibleItemProps {
    buttonsProps: ArrayFieldItemButtonsTemplateProps;
    /**
     * 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<PropsWithChildren<CollapsibleItemProps>> {
    props: PropsWithChildren<CollapsibleItemProps>;
    state: {
        isOpen: boolean;
    };
    constructor(props: PropsWithChildren<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;
}
//# sourceMappingURL=array-field-collapsible-item.d.ts.map