import { MessageType } from "./constants";
export interface GiftCardEvent {
    amount: number;
    userId: string;
    timestamp: Date;
}
export interface GiftCardPurchaseEvent extends GiftCardEvent {
    productId: string;
    quantity: number;
    orderId: string;
}
export interface GiftCardSaleEvent extends GiftCardEvent {
    productId: string;
    quantity: number;
    orderId: string;
    buyerId: string;
}
export interface GiftCardPurchaseResponse {
    orderId: string;
    productId: string;
    quantity: number;
    userId: string;
    status: string;
    redeem: any;
    timestamp: Date;
}
export interface ProviderProductDto {
    id: string;
    name: string;
    description?: string;
    redeemInstruction?: string;
    providerId: string;
    providerName: string;
    currency: string;
    status: string;
    validity: string;
    country: string;
    usdFee: number;
    denominations: {
        increment: number;
        min: number;
        max: number;
        usdPrice: number;
    }[];
}
export interface ProviderDto {
    id: string;
    name: string;
    balance: number;
    panelUrl: string;
    timestamp: Date;
}
export interface SagaStep {
    event: string;
    action: string;
    compensation?: string;
}
export interface MessagePattern<T> {
    message?: string;
    messageType: MessageType;
    tId?: string;
    data: T;
}
