import { type ReactNode } from "react"; import { type ViewStyle, type TextStyle } from "react-native"; import { type ColorTokens } from "../../style/index.js"; export type Placement = "top" | "bottom"; export interface PopoverSkin { /** The card's fixed width in px. The shell hands it to AnchoredOverlay so a * narrow outlet (a phone screen) clamps the card instead of overflowing. */ cardWidth: number; /** Compact application panel with an outside hairline. */ compactCard?: (t: ColorTokens) => ViewStyle; /** The floating card frame: width, radius, border, fill, padding, shadow. */ card: (t: ColorTokens) => ViewStyle; /** The popover heading. */ title: (t: ColorTokens) => TextStyle; /** The supporting line beneath the title. */ description: (t: ColorTokens) => TextStyle; /** Renders the anchor pointer toward the anchor, or null when the platform has none. */ arrow: ((t: ColorTokens, placement: Placement, anchor?: { centerX: number; cardWidth: number; }, end?: boolean) => ReactNode) | null; /** Standoff reserved for the solid arrow's protrusion. */ arrowGap?: number; /** The arrow draws under glass too (the web, whose beak is the hand-off's opaque tail on * the floating glass card); omitted, it draws in solid mode only. */ arrowUnderGlass?: boolean; /** Space above the custom content and the action row (the panel's gap); 12 when omitted. */ sectionGap?: number; /** The card presented as a sheet at the phone form factor: corners, padding, fill, elevation. */ sheet: (t: ColorTokens) => ViewStyle; } export declare const wrapper: ViewStyle; export declare const wrapperLifted: ViewStyle; export declare const triggerWrap: ViewStyle; export declare const cardFloating: ViewStyle; export declare const bodySlot: ViewStyle; export declare const actionRow: ViewStyle; /** The hand-off's beak: a 12px square turned 45 degrees, half of it out past the card * edge facing the trigger, in the card's fill with the hairline on its two outer sides. * Centered on the trigger when the anchor is known, else 24 in from the start edge (from * the end edge with `end`, a card aligned to its trigger's end). */ export declare function webBeakStyle(t: ColorTokens, placement: Placement, anchor?: { centerX: number; cardWidth: number; }, end?: boolean): ViewStyle; export declare const webSkin: PopoverSkin; export declare function popoverArrowOffset(centerX: number, cardWidth: number): number; export declare const iosSkin: PopoverSkin; export declare const androidSkin: PopoverSkin; //# sourceMappingURL=popover.styles.d.ts.map