import type { TRADE_ACTION_BUY, TRADE_ACTION_SELL } from '@cranberry-money/shared-constants';
export type TradeAction = typeof TRADE_ACTION_BUY | typeof TRADE_ACTION_SELL;
export interface TargetTrade {
    uuid: string;
    targetTradesheet: string;
    instrument: string;
    instrumentSymbol: string;
    instrumentName: string;
    quantity: number;
    action: TradeAction;
    targetPrice: string;
    status: string;
    expiresAt: string | null;
    createdAt: string;
    updatedAt: string;
}
export interface TargetTradeSheet {
    uuid: string;
    portfolio: string;
    status: string;
    submittedAt: string | null;
    createdAt: string;
    updatedAt: string;
}
export interface TradeSheet {
    uuid: string;
    portfolio: string;
    targetSheet: string;
    createdAt: string;
    updatedAt: string;
}
export interface Trade {
    uuid: string;
    tradesheet: string;
    targetTrade: string | null;
    instrument: string;
    instrumentSymbol: string;
    instrumentName: string;
    quantity: number;
    action: TradeAction;
    executedPrice: string;
    executedDate: string;
    status: string;
    settlementDate: string | null;
    currency: string | null;
    createdAt: string;
    updatedAt: string;
}
export type CreateTargetTrade = Omit<TargetTrade, 'uuid' | 'instrumentSymbol' | 'instrumentName' | 'status' | 'expiresAt' | 'createdAt' | 'updatedAt'>;
export type UpdateTargetTrade = Partial<Omit<TargetTrade, 'uuid' | 'instrumentSymbol' | 'instrumentName' | 'createdAt' | 'updatedAt'>>;
export type CreateTargetTradeSheet = Omit<TargetTradeSheet, 'uuid' | 'status' | 'submittedAt' | 'createdAt' | 'updatedAt'>;
export type UpdateTargetTradeSheet = Partial<Omit<TargetTradeSheet, 'uuid' | 'createdAt' | 'updatedAt'>>;
import type { BaseOperationResponse } from '../../common/base-patterns';
export interface TargetTradeSheetApprovalResponse extends BaseOperationResponse {
    status: string;
    approvedAt: string;
    approvedTradesCount: number;
}
export interface TargetTradeSheetCleanResponse extends BaseOperationResponse {
    status: string;
    deletedTradesCount: number;
}
//# sourceMappingURL=trade.d.ts.map