import type { LiteralUnion } from 'type-fest';

export interface BindWalletEvent {
  action: 'bindWalletSuccess' | 'bindWalletFailed';
  provider: LiteralUnion<'wallet' | 'apple' | 'github' | 'google' | 'email' | 'twitter' | 'passkey', string>;
}

export interface BindWalletSuccessEvent extends BindWalletEvent {
  action: 'bindWalletSuccess';
  success: true;
}

export interface BindWalletFailedEvent extends BindWalletEvent {
  action: 'bindWalletFailed';
  success: false;
  errorMessage: string;
}
