import { type ViewStyle, type TextStyle } from "react-native"; import { type ColorTokens } from "../../style/index.js"; export type Size = "xs" | "small" | "medium" | "default" | "large" | "wide"; export declare const PANEL_MAX_WIDTH: Record; export type FooterKind = "buttons" | "capsules"; export interface DialogSkin { /** The dim backdrop behind the card (full black at the per-platform opacity). */ backdrop: (t: ColorTokens) => ViewStyle; /** The card layout box: shape, fill, border (or lack of), shadow, padding. The * shell supplies the per-size maxWidth inline. */ card: (t: ColorTokens) => ViewStyle; /** The title type: size, weight, alignment, color. */ title: (t: ColorTokens) => TextStyle; /** The body/description type: size, color, alignment. */ body: (t: ColorTokens) => TextStyle; /** Whether the footer is a Button row or iOS's side-by-side capsule row. */ footerKind: FooterKind; /** The footer container (the action row). */ footer: (t: ColorTokens) => ViewStyle; /** A single capsule action button's box (shape/padding); each capsule grows to * share the row evenly. `confirm` true for the primary/confirm capsule. */ capsule: ((t: ColorTokens, confirm: boolean, destructive: boolean) => ViewStyle) | null; /** The label inside a capsule; `confirm` true for the primary confirm action * (drawn on the indigo fill), `destructive` true for an irreversible confirm * (red text on a gray capsule). */ capsuleLabel: ((t: ColorTokens, confirm: boolean, destructive: boolean) => TextStyle) | null; /** Opacity applied to a pressed capsule (iOS dims; null elsewhere). */ capsulePressedOpacity: number | null; /** An Android text-button touch target (no fill, brand-indigo label). */ textButton: ViewStyle | null; /** The Android text-button label; `destructive` reds an irreversible confirm. */ textButtonLabel: ((t: ColorTokens, destructive: boolean) => TextStyle) | null; /** The Android ripple over a text button; null on the other platforms. */ textButtonRipple: ((t: ColorTokens) => { color: string; borderless: boolean; }) | null; /** Wrapper above the form fields. */ formBody: ViewStyle; /** A field label above an input. */ fieldLabel: (t: ColorTokens) => TextStyle; /** Extra top inset for the second field label. */ fieldLabelGap: ViewStyle; /** The Amount row (currency glyph + input). */ amountRow: ViewStyle; /** The leading currency glyph. */ currency: (t: ColorTokens) => TextStyle; /** The Amount input grows to fill the row. */ amountInput: ViewStyle; } export declare const root: ViewStyle; export declare const triggerWrap: ViewStyle; export declare const backdropTriggerGap: ViewStyle; export declare const backdropOverlay: ViewStyle; export declare const backdropLayout: ViewStyle; export declare const cardLayout: ViewStyle; export declare const cardSizing: ViewStyle; export declare function cardWidth(size: Size): ViewStyle; export declare const webSkin: DialogSkin; export declare const iosSkin: DialogSkin; export declare const androidSkin: DialogSkin; //# sourceMappingURL=dialog.styles.d.ts.map