import PropTypes from 'prop-types'; import { FormStatus } from '../types'; import type { CheckoutStepProps, SetStepComplete, CompleteAllSteps, CheckoutStepGroupStore, StepChangedCallback, MakeStepActive, CheckoutPageErrorCallback } from '../types'; import type { ReactNode, HTMLAttributes, PropsWithChildren } from 'react'; export declare function createCheckoutStepGroupStore(): CheckoutStepGroupStore; export declare const MainContentWrapper: import("@emotion/styled").StyledComponent<{ theme?: import("@emotion/react").Theme; as?: React.ElementType; }, import("react").DetailedHTMLProps, HTMLDivElement>, {}>; export declare const CheckoutSummaryArea: ({ children, className, }: PropsWithChildren<{ className?: string; }>) => import("react/jsx-runtime").JSX.Element; export declare const CheckoutStepGroupInner: ({ children, areStepsActive, }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element; interface CheckoutStepsProps { areStepsActive?: boolean; } export declare const CheckoutStep: { ({ activeStepContent, activeStepFooter, activeStepHeader, completeStepContent, titleContent, stepId, className, isCompleteCallback, canEditStep, editButtonText, editButtonElement, editButtonAriaLabel, nextStepButtonText, nextStepButtonAriaLabel, validatingButtonText, validatingButtonAriaLabel, skipValidationOnSubmit, onPageLoadError, }: CheckoutStepProps): import("react/jsx-runtime").JSX.Element; isCheckoutStep: boolean; }; export declare const CheckoutStepAreaWrapper: import("@emotion/styled").StyledComponent<{ theme?: import("@emotion/react").Theme; as?: React.ElementType; }, import("react").DetailedHTMLProps, HTMLDivElement>, {}>; export declare const SubmitButtonWrapper: import("@emotion/styled").StyledComponent<{ theme?: import("@emotion/react").Theme; as?: React.ElementType; }, import("react").DetailedHTMLProps, HTMLDivElement>, {}>; export declare function CheckoutFormSubmit({ validateForm, submitButtonHeader, submitButtonFooter, disableSubmitButton, submitButton, onPageLoadError, continueToNextIncompleteStep, }: { validateForm?: () => Promise; submitButtonHeader?: ReactNode; submitButtonFooter?: ReactNode; disableSubmitButton?: boolean; submitButton?: ReactNode; onPageLoadError?: CheckoutPageErrorCallback; continueToNextIncompleteStep?: boolean; }): import("react/jsx-runtime").JSX.Element; export declare function CheckoutStepBody({ errorMessage, editButtonText, editButtonElement, editButtonAriaLabel, nextStepButtonText, validatingButtonText, nextStepButtonAriaLabel, validatingButtonAriaLabel, isStepActive, isStepComplete, canEditStep, className, stepNumber, stepId, titleContent, goToThisStep, goToNextStep, activeStepContent, formStatus, completeStepContent, onError, }: CheckoutStepBodyProps): import("react/jsx-runtime").JSX.Element; export declare namespace CheckoutStepBody { var propTypes: { errorMessage: PropTypes.Requireable; onError: PropTypes.Requireable<(...args: any[]) => any>; editButtonAriaLabel: PropTypes.Requireable; editButtonText: PropTypes.Requireable; editButtonElement: PropTypes.Requireable; nextStepButtonText: PropTypes.Requireable; nextStepButtonAriaLabel: PropTypes.Requireable; isStepActive: PropTypes.Validator; isStepComplete: PropTypes.Validator; canEditStep: PropTypes.Requireable; className: PropTypes.Requireable; stepNumber: PropTypes.Requireable; stepId: PropTypes.Validator; titleContent: PropTypes.Validator>; goToThisStep: PropTypes.Requireable<(...args: any[]) => any>; goToNextStep: PropTypes.Requireable<(...args: any[]) => any>; activeStepContent: PropTypes.Requireable; formStatus: PropTypes.Requireable; completeStepContent: PropTypes.Requireable; validatingButtonText: PropTypes.Requireable; validatingButtonAriaLabel: PropTypes.Requireable; }; } interface CheckoutStepBodyProps { errorMessage?: string; onError?: (error: Error) => void; editButtonAriaLabel?: string; editButtonText?: string; editButtonElement?: ReactNode; nextStepButtonText?: string; nextStepButtonAriaLabel?: string; isStepActive: boolean; isStepComplete: boolean; canEditStep?: boolean; className?: string; stepNumber?: number; stepId: string; titleContent: ReactNode; goToThisStep?: () => void; goToNextStep?: () => void; activeStepContent?: ReactNode; formStatus?: FormStatus; completeStepContent?: ReactNode; validatingButtonText?: string; validatingButtonAriaLabel?: string; } export declare function useIsStepActive(): boolean; export declare function useIsStepComplete(): boolean; export declare function useSetStepComplete(): SetStepComplete; export declare function useCompleteAllSteps(): CompleteAllSteps; export declare function useMakeStepActive(): MakeStepActive; /** * Returns the id of the step the "Continue" submit button would advance to (the * first incomplete numbered step at or after the active step, falling back to * the lowest incomplete step overall), or undefined when there is no such step * to continue to (all steps complete, or the active step is the last one). * * Consumers can use this to tell whether the submit area is showing "Continue" * versus the final submit button — e.g. to gate UI rendered via * `submitButtonFooter` so it only appears on the final step. */ export declare function useNextIncompleteStepId(): string | undefined; export declare function CheckoutStepGroup({ children, areStepsActive, stepAreaHeader, store, onStepChanged, scrollToStepOnForwardNavigation, loadingContent, loadingHeader, }: PropsWithChildren<{ areStepsActive?: boolean; stepAreaHeader?: ReactNode; store?: CheckoutStepGroupStore; onStepChanged?: StepChangedCallback; scrollToStepOnForwardNavigation?: boolean; loadingContent?: ReactNode; loadingHeader?: ReactNode; }>): import("react/jsx-runtime").JSX.Element; export declare function PaymentMethodStep(props: Partial & { waitForPaymentMethodIds?: string[]; }): import("react/jsx-runtime").JSX.Element; export declare namespace PaymentMethodStep { var isCheckoutStep: boolean; } export {}; //# sourceMappingURL=checkout-steps.d.ts.map