import type { BaseComponent } from "../base"; import type { Overrides } from "../overrides"; import type { SheetProps } from "./sheet"; import type { StackProps } from "./stack"; interface WorkflowAction { type: "workflow"; } interface RestorePurchasesAction { type: "restore_purchases"; } interface NavigateBackAction { type: "navigate_back"; } interface NavigateToAction { type: "navigate_to"; destination: "customer_center" | "offer_code" | "screen_redirect"; } interface NavigateToSheetAction { type: "navigate_to"; destination: "sheet"; sheet?: SheetProps | null; } interface NavigateToWebPurchase { type: "navigate_to"; destination: "web_paywall_link"; custom_url_options?: unknown; } interface NavigateToUrlAction { type: "navigate_to"; destination: "privacy_policy" | "terms" | "url"; sheet?: null; url: { url_lid: string; method: "deep_link" | "external_browser" | "in_app_browser"; }; } export type Action = WorkflowAction | RestorePurchasesAction | NavigateBackAction | NavigateToAction | NavigateToSheetAction | NavigateToWebPurchase | NavigateToUrlAction; export interface ButtonProps extends BaseComponent { type: "button"; action: Action; stack: StackProps; transition?: null; triggers?: { on_press?: string; }; overrides?: Overrides; } export {};