@vegaci_shared/vsplit-payment-gateway
Version:
A B2B payment gateway integration package for Stripe with split payment capabilities
35 lines (34 loc) • 923 B
TypeScript
/**
* Generic event emitter for payment gateway events
*/
export declare class EventEmitter<T extends Record<string, (...args: unknown[]) => void>> {
private listeners;
/**
* Subscribe to an event
*/
on<K extends keyof T>(event: K, callback: T[K]): void;
/**
* Unsubscribe from an event
*/
off<K extends keyof T>(event: K, callback: T[K]): void;
/**
* Emit an event
*/
emit<K extends keyof T>(event: K, ...args: Parameters<T[K]>): void;
/**
* Subscribe to an event once
*/
once<K extends keyof T>(event: K, callback: T[K]): void;
/**
* Remove all listeners for a specific event
*/
removeAllListeners<K extends keyof T>(event?: K): void;
/**
* Get listener count for an event
*/
listenerCount<K extends keyof T>(event: K): number;
/**
* Get all event names
*/
eventNames(): Array<keyof T>;
}