import { BufferComposer, ComposableBuffer } from '@muirglacier/jellyfish-buffer';
import { TokenBalance } from './dftx_balance';
import BigNumber from 'bignumber.js';
/**
 * TokenMint DeFi Transaction
 */
export interface TokenMint {
    balances: TokenBalance[];
}
/**
 * Composable TokenMint, C stands for Composable.
 * Immutable by design, bi-directional fromBuffer, toBuffer deep composer.
 */
export declare class CTokenMint extends ComposableBuffer<TokenMint> {
    static OP_CODE: number;
    static OP_NAME: string;
    composers(tm: TokenMint): BufferComposer[];
}
/**
 * TokenCreate DeFi Transaction
 */
export interface TokenCreate {
    symbol: string;
    name: string;
    decimal: number;
    limit: BigNumber;
    isDAT: boolean;
    tradeable: boolean;
    mintable: boolean;
}
/**
 * Composable TokenCreate, C stands for Composable.
 * Immutable by design, bi-directional fromBuffer, toBuffer deep composer.
 */
export declare class CTokenCreate extends ComposableBuffer<TokenCreate> {
    static OP_CODE: number;
    static OP_NAME: string;
    composers(tc: TokenCreate): BufferComposer[];
}
/**
 * TokenUpdate DeFi Transaction
 * Note(canonbrother): Only 'isDAT' flag modification allowed before Bayfront fork (<10000)
 */
export interface TokenUpdate {
    creationTx: string;
    isDAT: boolean;
}
/**
 * Composable CTokenUpdate, C stands for Composable.
 * Immutable by design, bi-directional fromBuffer, toBuffer deep composer.
 */
export declare class CTokenUpdate extends ComposableBuffer<TokenUpdate> {
    static OP_CODE: number;
    static OP_NAME: string;
    composers(tu: TokenUpdate): BufferComposer[];
}
/**
 * TokenUpdateAny DeFi Transaction
 */
export interface TokenUpdateAny extends TokenCreate {
    creationTx: string;
}
/**
 * Composable TokenUpdateAny, C stands for Composable.
 * Immutable by design, bi-directional fromBuffer, toBuffer deep composer.
 */
export declare class CTokenUpdateAny extends ComposableBuffer<TokenUpdateAny> {
    static OP_CODE: number;
    static OP_NAME: string;
    composers(tua: TokenUpdateAny): BufferComposer[];
}
//# sourceMappingURL=dftx_token.d.ts.map