import { type StyleProp, type ViewStyle } from "../../style/index.js"; import { type ActionSheetSkin } from "./action-sheet.styles.js"; /** A single action in the sheet. */ export interface ActionSheetAction { /** * Optional stable identity for this action, used as the React key for its row. * Supply it when the `actions` array can reorder or have items inserted/removed * so React keeps each row associated with its logical action; falls back to the * label when omitted. */ id?: string | number; /** The row label. */ label: string; /** Run when the row is selected (the sheet then closes). */ onPress: () => void; /** Render the label in the destructive red (for an irreversible action). */ destructive?: boolean; /** Dim the row and ignore presses. */ disabled?: boolean; } export interface ActionSheetProps { /** Controlled open state. Omit for uncontrolled (a `trigger` opens it). */ open?: boolean; /** Fired when the open state changes (trigger press, scrim tap, Cancel, an action, back/escape). */ onOpenChange?: (open: boolean) => void; /** * Label for an optional trigger button. When set, the sheet renders the button * and opens itself on press (uncontrolled). Omit when you drive `open` yourself. */ trigger?: string; /** Optional header title (a left-aligned primary-label heading on iOS, a short * centered gray heading on web, left-aligned on Android). */ title?: string; /** Optional header message under the title. */ message?: string; /** The action rows. Each runs its `onPress` then closes the sheet. */ actions: ActionSheetAction[]; /** The Cancel row label (default "Cancel"). */ cancelLabel?: string; /** E2E hook forwarded to the root element. */ testID?: string; /** * Outer layout composition for the bottom-anchored stack, composed onto the stack * container; not a restyle hook. (The device's bottom safe-area inset is applied * automatically, so it clears the home indicator without a manual `paddingBottom`.) */ style?: StyleProp; } /** Build an ActionSheet component from a platform skin. */ export declare function createActionSheet(skin: ActionSheetSkin): (props: ActionSheetProps) => import("react").JSX.Element; //# sourceMappingURL=action-sheet.shared.d.ts.map