// Midtrans Snap.js type definitions
interface SnapPaymentOptions {
  onSuccess?: (result: any) => void
  onPending?: (result: any) => void
  onError?: (result: any) => void
  onClose?: () => void
}

interface Snap {
  pay: (token: string, options?: SnapPaymentOptions) => void
  hide: () => void
  show: () => void
}

interface Window {
  snap?: Snap
}
