import { comparatorCurry, Tree } from './types';
export default function reducer<T>(state: Array<T>, action: Action<T>): Tree<T>[];
export declare enum ActionType {
    Check = 0,
    Uncheck = 1,
    Toggle = 2,
    BulkCheck = 3,
    BulkUncheck = 4,
    SetChecked = 5
}
export declare type Action<T> = {
    type: ActionType;
    item?: T;
    checked?: Array<T>;
    itemToToggle?: {
        item: T;
        nodesKey?: string;
        comparator?: comparatorCurry<T>;
    };
    isDisabled?: (item: T | Tree<T>) => boolean;
};
