/**
 * UCD Minting Types and Interfaces
 */
export interface IUCDMinting {
    mint(params: MintingParams): Promise<MintingResult>;
    calculateRewards(amount: string): Promise<RewardDistribution>;
    validateMinting(params: MintingParams): Promise<boolean>;
}
export interface MintingParams {
    amount: string;
    recipient: string;
    collateralType: string;
    collateralAmount: string;
    oracleData?: any;
}
export interface MintingResult {
    success: boolean;
    txHash?: string;
    mintedAmount?: string;
    fees?: string;
    rewards?: RewardDistribution;
    error?: string;
}
export interface RewardDistribution {
    totalRewards: string;
    operatorReward: string;
    protocolReward: string;
    liquidityProviderReward: string;
    distribution: {
        operator: string;
        protocol: string;
        liquidityProvider: string;
    };
}
