import * as React from 'react';
import { type CompositeMetadata } from '../list/CompositeList.js';
import type { BaseUIComponentProps } from '../../utils/types.js';
import type { TextDirection } from '../../direction-provider/DirectionContext.js';
import type { Dimensions } from '../composite.js';
/**
 * @ignore - internal component.
 */
declare function CompositeRoot<Metadata extends {}>(props: CompositeRoot.Props<Metadata>): React.JSX.Element;
declare namespace CompositeRoot {
    var propTypes: any;
}
declare namespace CompositeRoot {
    interface State {
    }
    interface Props<Metadata> extends BaseUIComponentProps<'div', State> {
        orientation?: 'horizontal' | 'vertical' | 'both';
        cols?: number;
        loop?: boolean;
        highlightedIndex?: number;
        onHighlightedIndexChange?: (index: number) => void;
        itemSizes?: Dimensions[];
        dense?: boolean;
        direction?: TextDirection;
        enableHomeAndEndKeys?: boolean;
        onMapChange?: (newMap: Map<Node, CompositeMetadata<Metadata> | null>) => void;
        stopEventPropagation?: boolean;
        rootRef?: React.RefObject<HTMLElement | null>;
    }
}
export { CompositeRoot };
