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 shared workflow panel shell, distinct from a platform alert's card. */ bandedCard: ViewStyle; /** Workflow panel title, in the platform's display face and weight. */ bandedTitle: (t: ColorTokens) => TextStyle; /** Structured application form treatment; platform alert defaults remain separate. */ form?: { card: (t: ColorTokens) => ViewStyle; title: (t: ColorTokens) => TextStyle; description: (t: ColorTokens) => TextStyle; }; /** The form's close as the platform draws it: the kit's bare 28 px ghost icon Button * (`compactIcon`) with this glyph size and ink. Omitted, the close is the kit's round * ghost icon Button. */ close?: { iconSize: number; color: (t: ColorTokens) => string; }; /** The space between the `icon` tile and the title under it. */ iconGap: number; /** 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 `primary` 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, a `primary-text` 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; the Amount input beside it is FILL and takes the rest of the row. */ currency: (t: ColorTokens) => TextStyle; } export declare const root: ViewStyle; export declare const embeddedFill: 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 const contentSizing: ViewStyle; export declare const workspaceSizing: (height: number, compact?: boolean) => ViewStyle; export declare const workspaceHeight: (windowHeight: number, topInset?: number, bottomInset?: number) => number; export declare const workspaceCard: ViewStyle; export declare const workspaceContent: ViewStyle; export declare const workspaceHeader: ViewStyle; export declare const compactWorkspaceContent: ViewStyle; export declare const workspaceBody: ViewStyle; export declare const workspaceFooter: ViewStyle; export declare const bandedCard: ViewStyle; export declare const bandedHeader: ViewStyle; export declare const bandedBody: ViewStyle; export declare const bandedSplitBody: ViewStyle; export declare const bandedFooter: ViewStyle; /** `toolbar`: the banded header as a desktop window's 44 px top bar (reference * claude-desktop-chat): on the panel's fill over a hairline, the title in the 14 medium * face at the start, actions at the end; a workspace sidebar runs the full height beside * the top bar and the body. */ export declare const toolbarHeader: (_t: ColorTokens) => ViewStyle; export declare const toolbarSplit: ViewStyle; export declare const toolbarMain: ViewStyle; export declare const toolbarBody: ViewStyle; export declare const toolbarRow: ViewStyle; export declare const toolbarTitleGroup: ViewStyle; export declare const toolbarTitle: (t: ColorTokens) => TextStyle; export declare const toolbarActions: ViewStyle; export declare const dismissBackdrop: 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