import type { Account } from '@bigmi/core';
import type { UTXOConnectorParameters, UTXOWalletProvider } from './types.js';
export type PhantomBitcoinEventMap = {
    accountsChanged(accounts: Account[]): void;
};
export type PhantomBitcoinEvents = {
    on<TEvent extends keyof PhantomBitcoinEventMap>(event: TEvent, listener: PhantomBitcoinEventMap[TEvent]): void;
    removeListener<TEvent extends keyof PhantomBitcoinEventMap>(event: TEvent, listener: PhantomBitcoinEventMap[TEvent]): void;
};
type PhantomConnectorProperties = {
    getAccounts(): Promise<readonly Account[]>;
    onAccountsChanged(accounts: Account[]): void;
    getInternalProvider(): Promise<PhantomBitcoinProvider>;
} & UTXOWalletProvider;
type PhantomBitcoinProvider = {
    requestAccounts(): Promise<Account[]>;
    signPSBT(psbtHex: Uint8Array, options: {
        inputsToSign: {
            sigHash?: number | undefined;
            address: string;
            signingIndexes: number[];
        }[];
        finalize?: boolean;
    }): Promise<Uint8Array>;
} & PhantomBitcoinEvents;
export declare function phantom(parameters?: UTXOConnectorParameters): import("../index.js").CreateConnectorFn<UTXOWalletProvider | undefined, PhantomConnectorProperties, Record<string, unknown>>;
export declare namespace phantom {
    var type: "UTXO";
}
export {};
