import { HDPrivateKey } from 'bitcore-lib';
export type IClientConfig = {
    mempoolHost?: string;
    storageHost?: string;
    valenceHost?: string;
    passphrase: string;
};
export type INewWalletResponse = {
    seedphrase: string;
    masterKey: IMasterKeyEncrypted;
};
export type IGenericKeyPair<T> = {
    [key: string]: T;
};
export type ICustomKeyPair<K extends string | number | symbol, T> = {
    [key in K]: T;
};
export type IMasterKey = {
    secret: HDPrivateKey;
    seed: string;
};
export type IMasterKeyEncrypted = {
    nonce: string;
    save: string;
};
export type IKeypair = {
    address: string;
    secretKey: Uint8Array;
    publicKey: Uint8Array;
    version: number | null;
};
export type IKeypairEncrypted = {
    address: string;
    nonce: string;
    version: number | null;
    save: string;
};
export type ITransaction = {
    inputs: ITxIn[];
    outputs: ITxOut[];
    version: number;
    druid_info: IDruidValues | null;
};
export type ITxIn = {
    previous_out: IOutPoint | null;
    script_signature: Script | null;
};
export type IOutPoint = {
    t_hash: string;
    n: number;
};
export type ITxOut = {
    value: IAssetToken | IAssetItem;
    locktime: number;
    script_public_key: string | null;
};
export type IDruidValues = {
    druid: string;
    participants: number;
    expectations: IDruidExpectation[];
};
export type IDruidExpectation = {
    from: string;
    to: string;
    asset: IAssetToken | IAssetItem;
};
export type IDruidDroplet = {
    participants: number;
    tx: {
        [key: string]: ITransaction;
    };
};
export type IAssetItem = {
    Item: {
        amount: number;
        genesis_hash: string;
        metadata: string | null;
    };
};
export type IAssetToken = {
    Token: number;
};
export type ICreateTxInScript = {
    Pay2PkH: {
        signable_data: string;
        signature: string;
        public_key: string;
        address_version: number | null;
    };
};
export type ICreateTxIn = {
    previous_out: IOutPoint | null;
    script_signature: ICreateTxInScript | null;
};
export type ICreateTransaction = {
    inputs: ICreateTxIn[];
    outputs: ITxOut[];
    version: number;
    druid_info: IDruidValues | null;
};
export type ICreateTransactionEncrypted = {
    druid: string;
    nonce: string;
    save: string;
};
export type Script = {
    stack: StackEntry[];
};
export type Signature = string;
export type PubKey = string;
export type PubKeyHash = string;
export type Num = number;
export type Bytes = string;
export declare class StackEntry {
    type: 'Op' | 'Num' | 'Bytes' | 'PubKey' | 'PubKeyHash' | 'Signature';
    value: OpString | Num | Bytes | PubKey | PubKeyHash | Signature;
    constructor(type: 'Op' | 'Num' | 'Bytes' | 'PubKey' | 'PubKeyHash' | 'Signature', value: OpString | Num | Bytes | PubKey | PubKeyHash | Signature);
    toString(): string;
}
export type OpString = 'OP_0' | 'OP_PUSHDATA1' | 'OP_PUSHDATA2' | 'OP_PUSHDATA4' | 'OP_1NEGATE' | 'OP_RESERVED' | 'OP_1' | 'OP_2' | 'OP_3' | 'OP_4' | 'OP_5' | 'OP_6' | 'OP_7' | 'OP_8' | 'OP_9' | 'OP_10' | 'OP_11' | 'OP_12' | 'OP_13' | 'OP_14' | 'OP_15' | 'OP_16' | 'OP_NOP' | 'OP_VER' | 'OP_IF' | 'OP_NOTIF' | 'OP_VERIF' | 'OP_VERNOT' | 'OP_ELSE' | 'OP_ENDIF' | 'OP_VERIFY' | 'OP_RETURN' | 'OP_TOALTSTACK' | 'OP_FROMALTSTA' | 'OP_2DROP' | 'OP_2DUP' | 'OP_3DUP' | 'OP_2OVER' | 'OP_2ROT' | 'OP_2SWAP' | 'OP_IFDUP' | 'OP_DEPTH' | 'OP_DROP' | 'OP_DUP' | 'OP_NIP' | 'OP_OVER' | 'OP_PICK' | 'OP_ROLL' | 'OP_ROT' | 'OP_SWAP' | 'OP_TUCK' | 'OP_CAT' | 'OP_SUBSTR' | 'OP_LEFT' | 'OP_RIGHT' | 'OP_SIZE' | 'OP_INVERT' | 'OP_AND' | 'OP_OR' | 'OP_XOR' | 'OP_EQUAL' | 'OP_EQUALVERIFY' | 'OP_RESERVED1' | 'OP_RESERVED2' | 'OP_1ADD' | 'OP_1SUB' | 'OP_2MUL' | 'OP_2DIV' | 'OP_NEGATE' | 'OP_ABS' | 'OP_NOT' | 'OP_0NOTEQUAL' | 'OP_ADD' | 'OP_SUB' | 'OP_MUL' | 'OP_DIV' | 'OP_MOD' | 'OP_LSHIFT' | 'OP_RSHIFT' | 'OP_BOOLAND' | 'OP_BOOLOR' | 'OP_NUMEQUAL' | 'OP_NUMEQUALVERIFY' | 'OP_NUMNOTEQUAL' | 'OP_LESSTHAN' | 'OP_GREATERTHAN' | 'OP_LESSTHANOREQUAL' | 'OP_GREATERTHANOREQUAL' | 'OP_MIN' | 'OP_MAX' | 'OP_WITHIN' | 'OP_SHA256' | 'OP_HASH160' | 'OP_HASH256' | 'OP_CODESEPARATOR' | 'OP_CHECKSIG' | 'OP_CHECKSIGVERIFY' | 'OP_CHECKMULTISIG' | 'OP_CHECKMULTISIGVERIFY' | 'OP_NOP1' | 'OP_CHECKLOCKTIMEVERIFY' | 'OP_CHECKSEQUENCEVERIFY' | 'OP_NOP4' | 'OP_NOP5' | 'OP_NOP6' | 'OP_NOP7' | 'OP_NOP8' | 'OP_NOP9' | 'OP_NOP10' | 'OP_CREATE' | 'OP_INVALIDOPCODE' | 'OP_HASH256_V0' | 'OP_HASH256_TEMP';
export declare enum Op {
    OP_0 = 0,
    OP_PUSHDATA1 = 76,
    OP_PUSHDATA2 = 77,
    OP_PUSHDATA4 = 78,
    OP_1NEGATE = 79,
    OP_RESERVED = 80,
    OP_1 = 81,
    OP_2 = 82,
    OP_3 = 83,
    OP_4 = 84,
    OP_5 = 85,
    OP_6 = 86,
    OP_7 = 87,
    OP_8 = 88,
    OP_9 = 89,
    OP_10 = 90,
    OP_11 = 91,
    OP_12 = 92,
    OP_13 = 93,
    OP_14 = 94,
    OP_15 = 95,
    OP_16 = 96,
    OP_NOP = 97,
    OP_VER = 98,
    OP_IF = 99,
    OP_NOTIF = 100,
    OP_VERIF = 101,
    OP_VERNOTIF = 102,
    OP_ELSE = 103,
    OP_ENDIF = 104,
    OP_VERIFY = 105,
    OP_RETURN = 106,
    OP_TOALTSTACK = 107,
    OP_FROMALTSTACK = 108,
    OP_2DROP = 109,
    OP_2DUP = 110,
    OP_3DUP = 111,
    OP_2OVER = 112,
    OP_2ROT = 113,
    OP_2SWAP = 114,
    OP_IFDUP = 115,
    OP_DEPTH = 116,
    OP_DROP = 117,
    OP_DUP = 118,
    OP_NIP = 119,
    OP_OVER = 120,
    OP_PICK = 121,
    OP_ROLL = 122,
    OP_ROT = 123,
    OP_SWAP = 124,
    OP_TUCK = 125,
    OP_CAT = 126,
    OP_SUBSTR = 127,
    OP_LEFT = 128,
    OP_RIGHT = 129,
    OP_SIZE = 130,
    OP_INVERT = 131,
    OP_AND = 132,
    OP_OR = 133,
    OP_XOR = 134,
    OP_EQUAL = 135,
    OP_EQUALVERIFY = 136,
    OP_RESERVED1 = 137,
    OP_RESERVED2 = 138,
    OP_1ADD = 139,
    OP_1SUB = 140,
    OP_2MUL = 141,
    OP_2DIV = 142,
    OP_NEGATE = 143,
    OP_ABS = 144,
    OP_NOT = 145,
    OP_0NOTEQUAL = 146,
    OP_ADD = 147,
    OP_SUB = 148,
    OP_MUL = 149,
    OP_DIV = 150,
    OP_MOD = 151,
    OP_LSHIFT = 152,
    OP_RSHIFT = 153,
    OP_BOOLAND = 154,
    OP_BOOLOR = 155,
    OP_NUMEQUAL = 156,
    OP_NUMEQUALVERIFY = 157,
    OP_NUMNOTEQUAL = 158,
    OP_LESSTHAN = 159,
    OP_GREATERTHAN = 160,
    OP_LESSTHANOREQUAL = 161,
    OP_GREATERTHANOREQUAL = 162,
    OP_MIN = 163,
    OP_MAX = 164,
    OP_WITHIN = 165,
    OP_SHA256 = 168,
    OP_HASH160 = 169,
    OP_HASH256 = 170,
    OP_CODESEPARATOR = 171,
    OP_CHECKSIG = 172,
    OP_CHECKSIGVERIFY = 173,
    OP_CHECKMULTISIG = 174,
    OP_CHECKMULTISIGVERIFY = 175,
    OP_NOP1 = 176,
    OP_CHECKLOCKTIMEVERIFY = 177,
    OP_CHECKSEQUENCEVERIFY = 178,
    OP_NOP4 = 179,
    OP_NOP5 = 180,
    OP_NOP6 = 181,
    OP_NOP7 = 182,
    OP_NOP8 = 183,
    OP_NOP9 = 184,
    OP_NOP10 = 185,
    OP_CREATE = 192,
    OP_INVALIDOPCODE = 255,
    OP_HASH256_V0 = 193,
    OP_HASH256_TEMP = 194
}
