import { type ReactNode } from 'react'; import { Text, View, type TextProps, type ViewProps } from 'react-native'; import { useTileContext, type ITileGroupMultipleProps, type ITileGroupSingleProps, type ITileIndicatorProps, type ITileLeadingSlotProps, type ITileProps, type ITileTrailingSlotProps } from '@cdx-ui/primitives'; import { type TileGroupVariantProps, type TileVariantProps } from './styles'; /** * Discriminated union mirroring `ITileGroupProps`, with `className` and layout variants added at * the styled layer. Distributing the intersection across each branch keeps `interface … extends` * ergonomics and avoids tripping `@typescript-eslint` on `(union) & { ... }`. * * `direction` and `spacing` constrain the group layout to the three supported patterns: * - `direction="column"` + `spacing="default"` — vertical stack with gaps (default). * - `direction="column"` + `spacing="none"` — tight vertical stack (rows touch). * - `direction="row"` + `spacing="default"` — side-by-side horizontal layout. * * `shape` (when set) is propagated to child `Tile`s via `ParentContext`, matching the * Avatar size-propagation pattern. A per-tile `shape` prop overrides the inherited value. */ export interface TileGroupSingleProps extends ITileGroupSingleProps, TileGroupVariantProps { className?: string; /** Visual shape inherited by child `Tile`s. Per-tile `shape` overrides this. */ shape?: TileVariantProps['shape']; } export interface TileGroupMultipleProps extends ITileGroupMultipleProps, TileGroupVariantProps { className?: string; /** Visual shape inherited by child `Tile`s. Per-tile `shape` overrides this. */ shape?: TileVariantProps['shape']; } export type TileGroupProps = TileGroupSingleProps | TileGroupMultipleProps; declare const TileGroup: import("react").ForwardRefExoticComponent>; export interface TileProps extends ITileProps, TileVariantProps { className?: string; } declare const TileRoot: import("react").ForwardRefExoticComponent>; export interface TileLeadingSlotProps extends ITileLeadingSlotProps { asChild?: boolean; className?: string; } declare const TileLeadingSlot: import("react").ForwardRefExoticComponent>; export interface TileContentProps extends ViewProps { asChild?: boolean; className?: string; } declare const TileContent: import("react").ForwardRefExoticComponent>; export interface TileTitleProps extends TextProps { asChild?: boolean; className?: string; } declare const TileTitle: import("react").ForwardRefExoticComponent>; export interface TileDescriptionProps extends TextProps { asChild?: boolean; className?: string; } declare const TileDescription: import("react").ForwardRefExoticComponent>; export interface TileIndicatorProps extends ITileIndicatorProps { asChild?: boolean; className?: string; children?: ReactNode; } declare const TileIndicator: import("react").ForwardRefExoticComponent>; export interface TileTrailingSlotProps extends ITileTrailingSlotProps { asChild?: boolean; className?: string; } declare const TileTrailingSlot: import("react").ForwardRefExoticComponent>; type TileCompound = typeof TileRoot & { Group: typeof TileGroup; LeadingSlot: typeof TileLeadingSlot; Content: typeof TileContent; Title: typeof TileTitle; Description: typeof TileDescription; Indicator: typeof TileIndicator; TrailingSlot: typeof TileTrailingSlot; }; export declare const Tile: TileCompound; export { useTileContext }; //# sourceMappingURL=index.d.ts.map