export type TSelectStrategyFn = (data: {
    id: unknown;
    value: boolean;
    selected: Map<unknown, 'on' | 'off' | 'indeterminate'>;
    children: Map<unknown, unknown[]>;
    parents: Map<unknown, unknown>;
    event?: Event;
}) => Map<unknown, 'on' | 'off' | 'indeterminate'>;
export type TSelectStrategyTransformInFn = (value: unknown[] | undefined, children: Map<unknown, unknown[]>, parents: Map<unknown, unknown>) => Map<unknown, 'on' | 'off' | 'indeterminate'>;
export type TSelectStrategyTransformOutFn = (value: Map<unknown, 'on' | 'off' | 'indeterminate'>, children: Map<unknown, unknown[]>, parents: Map<unknown, unknown>) => unknown[];
export type TSelectStrategy = {
    select: TSelectStrategyFn;
    in: TSelectStrategyTransformInFn;
    out: TSelectStrategyTransformOutFn;
};
export type TSelectStrategyProp = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | 'classic' | TSelectStrategyFn;
export declare const independentSelectStrategy: (required?: boolean) => TSelectStrategy;
export declare const independentSingleSelectStrategy: (required?: boolean) => TSelectStrategy;
export declare const leafSelectStrategy: (required?: boolean) => TSelectStrategy;
export declare const leafSingleSelectStrategy: (required?: boolean) => TSelectStrategy;
export declare const classicSelectStrategy: (required?: boolean) => TSelectStrategy;
