import { PublicKey } from '@solana/web3.js';
import { BN } from '@project-serum/anchor';
export interface OracleData {
    splitwiseAmount: number;
    splitwiseCurrency: string;
    exchangeRate: number;
    timestamp: number;
    signatures: string[];
    verificationHash: string;
}
export interface Settlement {
    splitwiseId: string;
    amount: BN;
    from: PublicKey;
    to: PublicKey;
    tokenMint: PublicKey;
    status: SettlementStatus;
    remainingAmount: BN;
    minPaymentAmount: BN;
    expiryTimestamp: BN;
    isInitialized: boolean;
    frontRunningProtection: Buffer;
}
export type SettlementStatus = 'pending' | 'active' | 'completed' | 'cancelled' | 'expired';
export interface SettlementEvent {
    eventType: 'initialized' | 'payment' | 'completed' | 'cancelled' | 'expired';
    data: any;
}
export interface TokenAccount {
    mint: PublicKey;
    owner: PublicKey;
    amount: BN;
    delegate: PublicKey | null;
    delegatedAmount: BN;
    isNative: boolean;
    closeAuthority: PublicKey | null;
}
