import { ReactNode } from 'react'; import { IconProps } from '@shopify/checkout-ui-extensions'; export declare type ShellHeaderPosition = 'start' | 'inline' | 'inlineSecondary'; export declare type ShellSubheaderPosition = 'start' | 'inline'; export declare type ShellFooterPosition = 'inline' | 'end'; export interface ShellProps { children?: ReactNode; headerPosition?: ShellHeaderPosition; subheaderPosition?: ShellSubheaderPosition; footerPosition?: ShellFooterPosition; subheaderHidden?: boolean; } export declare function Shell({ children, headerPosition, subheaderPosition, footerPosition, subheaderHidden, }: ShellProps): JSX.Element; export declare type ShellHeaderAlignment = 'start' | 'center' | 'end'; export declare type ShellHeaderBlockPadding = 'balanced' | 'weightedStart'; export interface ShellHeaderProps { children?: ReactNode; alignment: ShellHeaderAlignment; blockPadding: ShellHeaderBlockPadding; background?: string; } export declare type ShellSubheaderAlignment = 'start' | 'center' | 'end'; export interface ShellSubheaderProps { children?: ReactNode; alignment: ShellSubheaderAlignment; } export declare function ShellSubheader({ children, alignment }: ShellSubheaderProps): JSX.Element; export declare type ShellActionsDisplay = 'inline' | 'block'; export declare type ShellSectionBackground = 'surfacePrimary' | 'surfaceSecondary' | 'surfaceTertiary' | 'transparent'; export declare type ShellSectionInlineSize = 'toContainerEdge' | 'contentSize'; export declare type ShellSectionBlockSize = 'toContainerEdge' | 'contentSize'; export interface ShellSectionProps { children?: ReactNode; secondary?: boolean; bordered?: boolean; background?: ShellSectionBackground; inlineSize?: ShellSectionInlineSize; blockSize?: ShellSectionBlockSize; backgroundImage?: string; } export declare function ShellSection({ bordered, background, inlineSize, blockSize, children, secondary, backgroundImage, }: ShellSectionProps): JSX.Element; export interface ShellSectionContentProps { children?: ReactNode; } export declare function ShellSectionContent({ children }: ShellSectionContentProps): JSX.Element; export interface ShellFooterProps { children?: ReactNode; } export declare function ShellFooter({ children }: ShellFooterProps): JSX.Element; export interface ShellDisclosureProps { children?: ReactNode; detail?: ReactNode; icon: NonNullable; labels: { open: string; closed: string; }; bordered?: boolean; background: ShellSectionBackground; } export declare function ShellDisclosure({ children, detail, labels, icon, bordered, background, }: ShellDisclosureProps): JSX.Element;