import type { BaseEntity } from '../common';
import type { BaseQueryParams, DateRangeParams } from '../api';
export interface Transaction extends BaseEntity {
    txHash: string;
    chain: string;
    fromAddress: string;
    toAddress: string | null;
    asset: string;
    assetSymbol?: string;
    assetName?: string;
    amount: string;
    /** USD value at transaction time (amount × asset price at blockTimestamp) */
    marketValue?: string | null;
    blockTimestamp: string;
    blockNumber?: number;
    status?: string;
    transactionFeeEstimated?: string;
    transactionFee?: string;
    wallet: string;
    walletAddress?: string;
    /** For Arca transactions: BUY, SELL, ISSUANCE, MINT, etc. */
    orderType?: 'BUY' | 'SELL' | 'ISSUANCE' | 'MINT' | 'PAYMENT_SENT' | 'PAYMENT_RECEIVED';
    /** For Arca share trades: price per share in payment token */
    pricePerShare?: string;
    /** For Arca share trades: payment token symbol (e.g., 'aAUD') */
    paymentToken?: string;
    /** For Arca transactions: type of transaction (trade, token_issuance, stablecoin_mint, swap_payment) */
    transactionType?: string;
    /** For token issuances: type of issuance (initial, additional) */
    issuanceType?: string;
}
/**
 * Query parameters for transaction endpoints.
 * Extends BaseQueryParams for page-based pagination and DateRangeParams for date filtering.
 *
 * NAMING CONVENTION: Query params use snake_case following REST API URL standards.
 */
export interface TransactionQueryParams extends BaseQueryParams, DateRangeParams {
    wallet?: string;
    chain?: string;
    asset?: string;
    direction?: 'incoming' | 'outgoing';
    min_amount?: number;
    max_amount?: number;
}
//# sourceMappingURL=transaction.d.ts.map