/// <reference types="node" />
type utxoInput = {
    txId: string;
    vOut: number;
    amount: number;
    address?: string;
    reedScript?: string;
    privateKey?: string;
    publicKey?: string;
    sequence?: number;
    nonWitnessUtxo?: string;
    bip32Derivation?: Bip32Derivation[];
    derivationPath?: string;
    sighashType?: number;
    data?: any;
};
type Bip32Derivation = {
    masterFingerprint: string;
    pubkey: string;
    path: string;
    leafHashes?: string[];
};
type utxoOutput = {
    address: string;
    amount: number;
    omniScript?: string;
    bip32Derivation?: Bip32Derivation[];
    derivationPath?: string;
    isChange?: boolean;
    data?: any;
};
type omniOutput = {
    coinType?: number;
    amount: number;
};
type utxoTx = {
    inputs: [];
    outputs: [];
    address: string;
    feePerB?: number;
    decimal?: number;
    fee?: number;
    omni?: omniOutput;
    dustSize?: number;
    bip32Derivation?: Bip32Derivation[];
    derivationPath?: string;
    memo?: string;
    memoPos?: number;
    runeData?: RuneData;
};
type RuneData = {
    edicts?: Edict[];
    etching?: Etching;
    useDefaultOutput?: boolean;
    defaultOutput?: number;
    burn?: boolean;
    mint?: boolean;
    mintNum?: number;
    serialMint?: boolean;
    revealAddr?: string;
};
type Etching = {
    divisibility?: number;
    premine?: bigint;
    rune: Rune;
    spacers?: number;
    symbol?: string;
    terms?: Terms;
    turbo?: boolean;
    contentType?: string;
    body?: string | Buffer;
};
type Terms = {
    amount?: bigint;
    cap?: bigint;
    height?: Range;
    offset?: Range;
};
type Range = {
    start?: bigint;
    end?: bigint;
};
type Rune = {
    value: bigint | string;
};
type Edict = {
    block?: number;
    id: number;
    amount: bigint | string;
    output: number;
};
type ListingData = {
    nftAddress: string;
    nftUtxo: {
        txHash: string;
        vout: number;
        coinAmount: number;
        rawTransation: string;
    };
    receiveBtcAddress: string;
    price: number;
};
type BuyingData = {
    dummyUtxos: {
        txHash: string;
        vout: number;
        coinAmount: number;
        rawTransation: string;
    }[];
    paymentUtxos: {
        txHash: string;
        vout: number;
        coinAmount: number;
        rawTransation: string;
    }[];
    receiveNftAddress: string;
    paymentAndChangeAddress: string;
    feeRate: number;
    sellerPsbts: string[];
};
type toSignInput = {
    index: number;
    address?: string;
    publicKey?: string;
    sighashTypes?: number[];
    tapLeafHashToSign?: string;
    disableTweakSigner?: boolean;
    useTweakSigner?: boolean;
};
type signPsbtOptions = {
    autoFinalized?: boolean;
    toSignInputs?: toSignInput[];
};
export { utxoInput, utxoOutput, omniOutput, utxoTx, ListingData, BuyingData, RuneData, Edict, Etching, Terms, Range, Rune, toSignInput, signPsbtOptions, };
