import * as React from 'react'; import { type CompositeItemKey, type CompositeMetadata } from './CompositeListContext'; /** * Provides context for a list of items in a composite component, assigning each * one its index in visual order. * * The web version sorts by `compareDocumentPosition` and watches for reorders * with a `MutationObserver`. React Native has neither a document nor mutation * records, so ordering comes from two sources: * * 1. **Registration order**, which is exact at mount because React runs layout * effects in child order. This is what upstream itself falls back to via * `IndexGuessBehavior.GuessFromOrder`. * 2. **Measured layout**, once every item has reported one. Items are then * sorted in reading order, which is the real visual order — it stays correct * under `row-reverse`, wrapping, and absolute positioning, and it repairs the * case registration order cannot see: children reordered without remounting, * which never re-runs an effect but always moves the item on screen. * * Sorting only switches to layout once *all* items are measured, so the * comparator never mixes the two orderings (which could not be transitive). */ export declare function CompositeList(props: CompositeList.Props): React.JSX.Element; export interface CompositeListProps { children: React.ReactNode; onMapChange?: ((newMap: Map>) => void) | undefined; } export declare namespace CompositeList { type Props = CompositeListProps; } //# sourceMappingURL=CompositeList.d.ts.map