import React from 'react';
import { StatusClassName, ActionButtonGroupList } from './types';
interface ShowPaymentResultToastConfig {
    /** 状态样式类名 */
    statusClassName: StatusClassName;
    /** 标题 */
    title: string;
    /** 副标题 */
    subtitle?: React.ReactNode;
    /** 找零文本 */
    changeDueText?: string;
    /** 操作按钮 */
    actionButtons?: ActionButtonGroupList;
    /** 自动关闭配置 */
    autoClose?: boolean;
    /** 自动关闭延迟时间（秒） */
    autoCloseDelay?: number;
    /** 是否显示倒计时进度 */
    showCountdownProgress?: boolean;
    /** 倒计时完成回调 */
    onCountdownComplete?: () => void;
    /** 自定义关闭回调 */
    onClose?: () => void;
    /** 是否显示右上角关闭按钮 */
    closable?: boolean;
}
interface PaymentResultToastContextType {
    /** 显示成功弹窗 */
    showSuccess: (config: Omit<ShowPaymentResultToastConfig, 'statusClassName'>) => string;
    /** 显示失败弹窗 */
    showFailed: (config: Omit<ShowPaymentResultToastConfig, 'statusClassName'>) => string;
    /** 显示钱包通行证失败弹窗 */
    showWalletPassFailed: (config: Omit<ShowPaymentResultToastConfig, 'statusClassName'>) => string;
    /** 显示部分支付弹窗 */
    showPartiallyPaid: (config: Omit<ShowPaymentResultToastConfig, 'statusClassName'>) => string;
    /** 显示自定义状态弹窗 */
    showToast: (config: ShowPaymentResultToastConfig) => string;
    /** 关闭弹窗 */
    closeToast: () => void;
    /** 是否正在显示弹窗 */
    isVisible: boolean;
}
export declare const PaymentResultToastProvider: React.FC<{
    children: React.ReactNode;
}>;
export declare const usePaymentResultToast: () => PaymentResultToastContextType;
declare class GlobalToastManager {
    private instances;
    private nextId;
    private readonly TOAST_HEIGHT;
    private readonly TOAST_MARGIN;
    private readonly BOTTOM_OFFSET;
    private readonly LEFT_OFFSET;
    private cachedBottomOffset;
    private cachedCenterOffset;
    private tillButton;
    setTillButton(tillButton: any): void;
    private generateId;
    private calculateAndCacheBottomOffset;
    private calculateAndCacheCenterOffset;
    private resetBottomOffsetCache;
    private calculateBottomPosition;
    private updatePositions;
    addToast(config: ShowPaymentResultToastConfig): string;
    removeToast(id: string): void;
    clearAll(): void;
    getCount(): number;
    initializeResizeListener(): () => void;
}
declare const globalToastManager: GlobalToastManager;
export declare const showPaymentResultToastSuccess: (config: Omit<ShowPaymentResultToastConfig, 'statusClassName'>) => Promise<string>;
export declare const showPaymentResultToastFailed: (config: Omit<ShowPaymentResultToastConfig, 'statusClassName'>) => Promise<string>;
export declare const showPaymentResultToastWalletPassFailed: (config: Omit<ShowPaymentResultToastConfig, 'statusClassName'>) => Promise<string>;
export declare const showPaymentResultToastPartiallyPaid: (config: Omit<ShowPaymentResultToastConfig, 'statusClassName'>) => Promise<string>;
export declare const showPaymentResultToast: (config: ShowPaymentResultToastConfig) => Promise<string>;
export declare const closePaymentResultToast: (id?: string) => void;
export declare const clearAllPaymentResultToasts: () => void;
export declare const getPaymentResultToastCount: () => number;
export type { ShowPaymentResultToastConfig, PaymentResultToastContextType };
export declare const setTillButton: (tillButton: any) => void;
export { globalToastManager };
