export default NestableList;
/** A styled list with drag and drop and nesting capabilities. */
declare class NestableList extends React.PureComponent<any, any, any> {
    static getDerivedStateFromProps(props: any, state: any): any;
    constructor(props: any);
    constructor(props: any, context: any);
    state: {
        movedItem: null;
        backup: null;
        isDragging: boolean;
        isInternalStateUpdate: boolean;
        items: any;
    };
    _setStateDecorator: (state: any) => void;
    _renderArrow: ({ isLastChild, isPreview, isPlaceholder, }?: {
        isLastChild?: boolean | undefined;
        isPreview?: boolean | undefined;
    }) => React.JSX.Element;
    _renderActions: (data: any) => React.JSX.Element | null;
    _renderAction: (data: any) => React.JSX.Element | undefined;
    _renderPrefix: (data: any) => React.JSX.Element | null;
    _renderItem: (options: any) => React.JSX.Element;
    _onBlur: () => void;
    _moveItemViaKeyboard: (e: any, itemOptions: any) => void;
    _releaseItems(): void;
    _onDragEnd: () => void;
    _onDragStart: () => void;
    _renderActionsFactory: (...args: any[]) => React.JSX.Element | null | undefined;
    render(): React.JSX.Element;
}
declare namespace NestableList {
    let displayName: string;
    namespace propTypes {
        export { actions };
        export let withBottomBorder: PropTypes.Requireable<boolean>;
        export let readOnly: PropTypes.Requireable<boolean>;
        export let addItemLabel: PropTypes.Requireable<string>;
        export let onAddItem: PropTypes.Requireable<(...args: any[]) => any>;
        export let onChange: PropTypes.Requireable<(...args: any[]) => any>;
        export let maxDepth: PropTypes.Requireable<number>;
        export let preventChangeDepth: PropTypes.Requireable<boolean>;
        export let items: PropTypes.Requireable<(PropTypes.InferProps<{
            dataHook: React.Validator<string | null | undefined>;
            className?: React.Validator<string | null | undefined> | undefined;
            onClick?: React.Validator<Function | null | undefined> | undefined;
            options?: React.Validator<import("../TableListItem").TableListItemColumn[]> | undefined;
            verticalPadding?: React.Validator<import("../TableListItem").TableListItemPadding | null | undefined> | undefined;
            horizontalPadding?: React.Validator<import("../TableListItem").TableListItemPadding | null | undefined> | undefined;
            checkbox?: React.Validator<boolean | null | undefined> | undefined;
            checkboxDisabled?: React.Validator<boolean | null | undefined> | undefined;
            checked?: React.Validator<boolean | null | undefined> | undefined;
            focused?: React.Validator<boolean | null | undefined> | undefined;
            onBlur?: React.Validator<((e: React.FocusEvent) => void) | null | undefined> | undefined;
            onKeyUp?: React.Validator<((e: KeyboardEvent) => void) | null | undefined> | undefined;
            onCheckboxChange?: React.Validator<React.ChangeEventHandler<HTMLInputElement> | null | undefined> | undefined;
            draggable?: React.Validator<boolean | null | undefined> | undefined;
            dragging?: React.Validator<boolean | null | undefined> | undefined;
            dragDisabled?: React.Validator<boolean | null | undefined> | undefined;
            showDivider?: React.Validator<boolean | null | undefined> | undefined;
            dragHandleProps?: React.Validator<Partial<import("../DragHandle/DragHandle").DragHandlePublicAPIProps> | null | undefined> | undefined;
            checkboxTooltipContent?: React.Validator<React.ReactNode> | undefined;
            checkboxTooltipProps?: React.Validator<import("..").TooltipCommonProps | null | undefined> | undefined;
            border?: React.Validator<boolean | null | undefined> | undefined;
            dragHandleSize?: React.Validator<"small" | "large" | null | undefined> | undefined;
            expandable?: React.Validator<boolean | null | undefined> | undefined;
            expandDisabled?: React.Validator<boolean | null | undefined> | undefined;
            onClickExpand?: React.Validator<Function | null | undefined> | undefined;
            expanded?: React.Validator<boolean | null | undefined> | undefined;
            ref?: React.Validator<React.LegacyRef<import("../TableListItem").TableListItemImperativeActions> | undefined> | undefined;
            key?: React.Validator<React.Key | null | undefined> | undefined;
            id: PropTypes.Validator<NonNullable<NonNullable<string | number | null | undefined>>>;
            actions: PropTypes.Requireable<(PropTypes.InferProps<{
                onClick: PropTypes.Requireable<(...args: any[]) => any>;
                prefixIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
                label: PropTypes.Requireable<string>;
            }> | null | undefined)[]>;
            isCollapsed: PropTypes.Requireable<boolean>;
            addItemLabel: PropTypes.Requireable<string>;
        }> | null | undefined)[]>;
        export let dataHook: PropTypes.Requireable<string>;
        export let className: PropTypes.Requireable<string>;
        export let zIndex: PropTypes.Requireable<number>;
    }
    namespace defaultProps {
        let maxDepth_1: number;
        export { maxDepth_1 as maxDepth };
        let withBottomBorder_1: boolean;
        export { withBottomBorder_1 as withBottomBorder };
        let preventChangeDepth_1: boolean;
        export { preventChangeDepth_1 as preventChangeDepth };
        let items_1: never[];
        export { items_1 as items };
        export function onAddItem_1(): void;
        export { onAddItem_1 as onAddItem };
    }
}
import React from 'react';
declare const actions: PropTypes.Requireable<(PropTypes.InferProps<{
    onClick: PropTypes.Requireable<(...args: any[]) => any>;
    prefixIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
    label: PropTypes.Requireable<string>;
}> | null | undefined)[]>;
import PropTypes from 'prop-types';
//# sourceMappingURL=NestableList.d.ts.map