import { Node } from './types';
import { location } from '@synnaxlabs/x';

export interface UseProps {
    allowRename?: boolean;
    initialTree: Node;
}
export interface UseReturn {
    root: Node;
    onDrop: (key: number, tabKey: string, loc: location.Location) => void;
    onClose: (tabKey: string) => void;
    onSelect: (tabKey: string) => void;
    onResize: (key: number, sizes: number) => void;
    onRename?: (tabKey: string, name: string) => void;
}
/**
 * The Mosaic.use hook implements the state management and logic for the Mosaic
 * component. This hook should be used in conjunction with the Mosaic component.
 *
 * @param props - The props for the Mosaic.use hook.
 * @param props.initialValue - The initial root node of the mosaic tree. For
 * information on what this node should look like, see the {@link Node}
 * type.
 */
export declare const use: ({ allowRename, initialTree }: UseProps) => UseReturn;
//# sourceMappingURL=use.d.ts.map