import { type ViewStyle, type TextStyle } from "react-native"; import { type ColorTokens } from "../../style/index.js"; import { type GlassLayer } from "../../style/glass-surface/glass-surface-props.js"; export type Width = "narrow" | "small" | "medium" | "large"; export declare const panelWidth: Record; export type ActionLayout = "buttons" | "capsule"; export interface AlertDialogSkin { /** The contained dim scrim that centers the card within the preview area. */ backdrop: (t: ColorTokens) => ViewStyle; /** The card base: shape, border (or lack of), padding, shadow. tokens drive fill. */ card: (t: ColorTokens) => ViewStyle; /** Title type + alignment (centered on iOS, left on Android/web). */ title: (t: ColorTokens) => TextStyle; /** Description type + alignment + color. */ description: (t: ColorTokens) => TextStyle; /** The tone tile over the title (a trash glyph on the destructive wash, else info on * the accent's): its space below, or null where the platform draws none. */ emblem: ViewStyle | null; /** The panel's width cap on this platform, over the width axis (the iOS alert's 270). */ panelWidth?: ViewStyle; /** The text block's inset inside the card, where the card itself is unpadded so the * action row runs to its edges (the iOS alert); null where the card pads it all. */ content: ViewStyle | null; /** The glass layer the panel takes under glass: the functional layer on the web (a * floating surface, the hand-off's `--gl`), the dense layer on native. */ glassLayer: GlassLayer; /** The confirmation field's block (its space above). */ inputBlock: ViewStyle; /** Which action structure the shell renders. */ actionLayout: ActionLayout; /** The right-aligned Button row container (the "buttons" layout). */ actions: ViewStyle; /** The size prop passed to the shell's Cancel/Confirm Buttons. */ buttonSmall: boolean; /** The intent props for the Cancel Button (web = secondary). */ cancelButton: { outline?: boolean; ghost?: boolean; secondary?: boolean; }; /** The two Buttons share the row equally (each `block`), as the hand-off's grid. */ blockButtons?: boolean; /** The action row that holds the two equal-width capsules with a gap. */ capsuleRow: ViewStyle | null; /** A single capsule cell base (shape/sizing); fill comes from the *Fill helpers. * The iOS alert's cells are its two halves of a hairline-topped action row. */ capsuleCell: ViewStyle | null; /** The Cancel (gray) capsule fill. */ cancelFill: ((t: ColorTokens) => ViewStyle) | null; /** The row's own colours (the iOS alert's hairline above the actions). */ capsuleRowColor?: (t: ColorTokens) => ViewStyle; /** The Confirm capsule fill. Non-destructive = filled `primary`; destructive * keeps the gray `secondary` fill (the kit fills only the primary confirm). */ confirmFill: ((t: ColorTokens, destructive: boolean) => ViewStyle) | null; /** The Cancel capsule label (regular 400 weight, on-secondary color). */ cancelLabelStyle: ((t: ColorTokens) => TextStyle) | null; /** The Confirm capsule label (semibold 600; white on the filled primary fill, * `destructive-text` over the gray fill when destructive). */ confirmLabelStyle: ((t: ColorTokens, destructive: boolean) => TextStyle) | null; /** iOS/web dim on press; Android uses a ripple instead (null). */ pressedOpacity: number | null; /** Android ripple over the action cells; null on iOS/web. */ ripple: ((t: ColorTokens) => { color: string; borderless: boolean; }) | null; } export declare const backdropOverlay: ViewStyle; export declare const root: ViewStyle; export declare const embeddedFill: ViewStyle; export declare const triggerWrap: ViewStyle; export declare const triggerGap: ViewStyle; export declare const cardBase: ViewStyle; export declare const webSkin: AlertDialogSkin; export declare const iosSkin: AlertDialogSkin; export declare const androidSkin: AlertDialogSkin; //# sourceMappingURL=alert-dialog.styles.d.ts.map