import { type Address } from '@bigmi/core';
import type { BtcAccount } from '../types/account.js';
import type { UTXOConnectorParameters, UTXOWalletProvider } from './types.js';
export type MagicEdenBitcoinEventMap = {
    accountsChanged(accounts: BtcAccount[]): void;
};
export type MagicEdenBitcoinEvents = {
    addListener<TEvent extends keyof MagicEdenBitcoinEventMap>(event: TEvent, listener: MagicEdenBitcoinEventMap[TEvent]): void;
    removeListener<TEvent extends keyof MagicEdenBitcoinEventMap>(event: TEvent, listener: MagicEdenBitcoinEventMap[TEvent]): void;
};
type MagicEdenConnectorProperties = {
    getAccounts(): Promise<readonly Address[]>;
    onAccountsChanged(accounts: BtcAccount[]): void;
    getInternalProvider(): Promise<MagicEdenBitcoinProvider>;
} & UTXOWalletProvider;
type MagicEdenBitcoinProvider = {
    connect(encodedRequest: string): Promise<{
        addresses: BtcAccount[];
    }>;
    signTransaction(encodedRequest: string): Promise<{
        psbtBase64: string;
        txId?: string;
    }>;
} & MagicEdenBitcoinEvents;
export declare function magicEden(parameters?: UTXOConnectorParameters): import("../factories/createConnector.js").CreateConnectorFn<UTXOWalletProvider | undefined, MagicEdenConnectorProperties, Record<string, unknown>>;
export declare namespace magicEden {
    var type: "UTXO";
}
export {};
