import { BufferComposer, ComposableBuffer } from '@muirglacier/jellyfish-buffer';
import { CurrencyPair, TokenPrice } from './dftx_price';
import { Script } from '../../tx';
import BigNumber from 'bignumber.js';
/**
 * AppointOracle DeFi Transaction
 */
export interface AppointOracle {
    script: Script;
    weightage: number;
    priceFeeds: CurrencyPair[];
}
/**
 * Composable AppointOracle, C stands for Composable.
 * Immutable by design, bi-directional fromBuffer, toBuffer deep composer.
 */
export declare class CAppointOracle extends ComposableBuffer<AppointOracle> {
    static OP_CODE: number;
    static OP_NAME: string;
    composers(ao: AppointOracle): BufferComposer[];
}
/**
 * RemoveOracle DeFi Transaction
 */
export interface RemoveOracle {
    oracleId: string;
}
/**
 * Composable RemoveOracle, C stands for Composable.
 * Immutable by design, bi-directional fromBuffer, toBuffer deep composer.
 */
export declare class CRemoveOracle extends ComposableBuffer<RemoveOracle> {
    static OP_CODE: number;
    static OP_NAME: string;
    composers(ao: RemoveOracle): BufferComposer[];
}
/**
 * UpdateOracle DeFi Transaction
 */
export interface UpdateOracle {
    oracleId: string;
    script: Script;
    weightage: number;
    priceFeeds: CurrencyPair[];
}
/**
 * Composable UpdateOracle, C stands for Composable.
 * Immutable by design, bi-directional fromBuffer, toBuffer deep composer.
 */
export declare class CUpdateOracle extends ComposableBuffer<UpdateOracle> {
    static OP_CODE: number;
    static OP_NAME: string;
    composers(ao: UpdateOracle): BufferComposer[];
}
/**
 * SetOracleData DeFi Transaction
 */
export interface SetOracleData {
    oracleId: string;
    timestamp: BigNumber;
    tokens: TokenPrice[];
}
/**
 * Composable SetOracleData, C stands for Composable.
 * Immutable by design, bi-directional fromBuffer, toBuffer deep composer.
 */
export declare class CSetOracleData extends ComposableBuffer<SetOracleData> {
    static OP_CODE: number;
    static OP_NAME: string;
    composers(ao: SetOracleData): BufferComposer[];
}
//# sourceMappingURL=dftx_oracles.d.ts.map