import type { TFunction } from 'i18next';
import React, { type ReactNode } from 'react';
import type { CheckoutProgressStep } from '../../providers/FunkitCheckoutContext';
import { type FunkitTextCustomizationsConfig } from '../../providers/FunkitConfigContext';
export interface TransactionStatusProps {
    isSlowTransaction: boolean;
    isWithdrawal: boolean;
    textConfigStatus?: TextConfigStatus;
    textConfigSteps?: TextConfigSteps;
    onOrderDelayed?: () => void;
    startTimeMs: number;
    status: 'delayed' | 'failed' | 'progress' | 'success';
    step: CheckoutProgressStep;
}
export type TextConfig = {
    description: ReactNode;
    descriptionKey: string;
    title: string;
} | {
    description: string;
    descriptionKey?: never;
    title: string;
};
export type TextConfigContext = {
    durationUnits: string;
    isWithdrawal: boolean;
    finalizeVerb: string;
    textCustomizations: FunkitTextCustomizationsConfig;
};
export type TextConfigStatus = Record<Exclude<TransactionStatusProps['status'], 'progress'> | 'progress_delayed', TextConfig | ((context: TextConfigContext) => TextConfig)>;
export type TextConfigSteps = Record<CheckoutProgressStep, TextConfig | ((context: TextConfigContext) => TextConfig)>;
export declare const getDefaultTextConfigStatus: (t: TFunction) => TextConfigStatus;
export declare const getDefaultTextConfigSteps: (t: TFunction) => TextConfigSteps;
export declare const TransactionStatus: React.FC<TransactionStatusProps>;
