import React, { FunctionComponent, ReactNode } from "react"; import { Lozenge } from "@bigcommerce/big-design"; import { FeatureTagProps } from "../featureTag/FeatureTag"; /** * Slide data structure for the image carousel. */ export interface SlideData { alt: string; imageUrl: string; thumbnailUrl?: string; } /** * Developer information structure. */ export interface DeveloperType { name: string; url: string; tier?: string; } /** * Copy structure for the installation panel text content. */ export interface InstallationCopy { panelHeader: string; backButton: string; price: string; rating: string; partnerTier: string; policiesAndTerms: ReactNode; install: string; scopesAllowed: ReactNode; scopesDenied: ReactNode; cancel: string; } /** * App information structure. */ export interface AppType { logoURL: string; name: string; status?: React.ComponentProps["variant"]; statusText?: string; developer: DeveloperType; description?: string; summary: string; features: Array; screenshots?: Array; scopesAllowed?: Array; scopesDenied: Array; rating?: number; price?: string; privacyPolicyURL?: string; termsOfServiceURL?: string; requireAcknowledgment?: boolean; } /** * Props structure for the InstallScreen component. */ interface InstallScreenProps { backgroundSrc?: string; isLoading?: boolean; disableInstallButton?: boolean; showBackButton?: boolean; onBackButtonClick?: (event: React.MouseEvent) => void; onInstallButtonClick?: (event: React.MouseEvent) => void; customForm?: ReactNode; app: AppType; copy: InstallationCopy; } /** * InstallScreen component. * Renders the installation screen for an app, including app details, installation options, and acknowledgment. * * @param {InstallScreenProps} props - Properties passed to the component. * @returns {JSX.Element} The rendered InstallScreen component. */ export declare const InstallScreen: FunctionComponent; export {};