import type { PsbtInputData, PsbtOutputData } from "./wasm/wasm_utxo.js";
import { BIP32 } from "./bip32.js";
import type { PsbtKvKey } from "./fixedScriptWallet/BitGoKeySubtype.js";
interface WasmPsbtBase {
    input_count(): number;
    output_count(): number;
    version(): number;
    lock_time(): number;
    unsigned_tx_id(): string;
    serialize(): Uint8Array;
    get_inputs(): unknown;
    get_outputs(): unknown;
    get_global_xpubs(): unknown;
    remove_input(index: number): void;
    remove_output(index: number): void;
    set_kv(key: unknown, value: Uint8Array): void;
    get_kv(key: unknown): Uint8Array | null | undefined;
    delete_kv(key: unknown): void;
    set_input_kv(index: number, key: unknown, value: Uint8Array): void;
    get_input_kv(index: number, key: unknown): Uint8Array | null | undefined;
    delete_input_kv(index: number, key: unknown): void;
    set_output_kv(index: number, key: unknown, value: Uint8Array): void;
    get_output_kv(index: number, key: unknown): Uint8Array | null | undefined;
    delete_output_kv(index: number, key: unknown): void;
}
export declare abstract class PsbtBase<W extends WasmPsbtBase> {
    protected _wasm: W;
    constructor(wasm: W);
    inputCount(): number;
    outputCount(): number;
    version(): number;
    lockTime(): number;
    unsignedTxId(): string;
    serialize(): Uint8Array;
    getInputs(): PsbtInputData[];
    getOutputs(): PsbtOutputData[];
    getGlobalXpubs(): BIP32[];
    removeInput(index: number): void;
    removeOutput(index: number): void;
    setKV(key: PsbtKvKey, value: Uint8Array): void;
    getKV(key: PsbtKvKey): Uint8Array | undefined;
    setInputKV(index: number, key: PsbtKvKey, value: Uint8Array): void;
    getInputKV(index: number, key: PsbtKvKey): Uint8Array | undefined;
    setOutputKV(index: number, key: PsbtKvKey, value: Uint8Array): void;
    getOutputKV(index: number, key: PsbtKvKey): Uint8Array | undefined;
    deleteKV(key: PsbtKvKey): void;
    deleteInputKV(index: number, key: PsbtKvKey): void;
    deleteOutputKV(index: number, key: PsbtKvKey): void;
}
export {};
