import * as React from 'react'; import type { TransferContextValue, TransferDirection, TransferFilterMatchMode, TransferItemData, TransferListContextValue, TransferMoveDetail, TransferProps, TransferSearchResultsDetail, TransferSide } from './types.cjs'; /** @internal Every option that can hold focus or be moved. Disabled options are skipped by both. */ export declare const OPTION_SELECTOR = "[role=\"option\"]:not([data-disabled])"; export declare const TransferProvider: React.FC, useTransferContext: (consumerName: string) => TransferContextValue; /** @internal Tells a `TransferItem` which list it is inside. */ export declare const TransferListProvider: React.FC, useTransferListContext: (consumerName: string) => TransferListContextValue; /** @internal Where a direction takes items *from*. */ export declare const ORIGIN_OF: Record; /** @internal Where a direction takes items *to*. */ export declare const DESTINATION_OF: Record; /** @internal Word each side is called in default accessible names and move announcements. */ export declare const SIDE_NOUN: Record; /** @internal Both sides, in a fixed order, so effects can walk them without allocating. */ export declare const SIDES: readonly TransferSide[]; /** Default move announcement (for {@link TransferProps.getMoveAnnouncement}} fallback). */ export declare function moveAnnouncement({ moved, remaining, from, to }: TransferMoveDetail): string; /** Default search-results announcement (for {@link TransferProps.getSearchResultsAnnouncement}} fallback). */ export declare function searchResultsAnnouncement({ shown, total, side, }: TransferSearchResultsDetail): string; /** Move-trigger accessible name (direction + count; trigger stays focusable with nothing to move to explain why). @internal */ export declare function moveTriggerLabel(count: number, direction: TransferDirection, all: boolean): string; /** Built-in matcher (parameterised by `filterMatchMode`; case-insensitive and trimmed). */ export declare function matchesFilterMode(item: TransferItemData, query: string, mode?: TransferFilterMatchMode): boolean; /** * Two-list transfer whose triggers move items between a pool and a chosen list, both derived from `items` and `value` so they never drift. * @example `` */ export declare const Transfer: { ({ items, value, defaultValue, onValueChange, onMove, disabled, name, form, searchable, filter, filterMatchMode, getMoveLabel, getMoveAnnouncement, getSearchResultsAnnouncement, targetOrder, onListScroll, titles, emptyText, showMoveAll, renderItem, children, density, shape, size, ref: forwardedRef, ...props }: TransferProps): React.ReactNode; displayName: string; };