import { type Address } from '@bigmi/core';
import type { UTXOConnectorParameters, UTXOWalletProvider } from './types.js';
export type CtrlBitcoinEventMap = {
    accountsChanged(accounts: Address[]): void;
};
export type CtrlBitcoinEvents = {
    addListener<TEvent extends keyof CtrlBitcoinEventMap>(event: TEvent, listener: CtrlBitcoinEventMap[TEvent]): void;
    removeListener<TEvent extends keyof CtrlBitcoinEventMap>(event: TEvent, listener: CtrlBitcoinEventMap[TEvent]): void;
};
type CtrlConnectorProperties = {
    getAccounts(): Promise<readonly Address[]>;
    onAccountsChanged(accounts: Address[]): void;
    getInternalProvider(): Promise<CtrlBitcoinProvider>;
} & UTXOWalletProvider;
type CtrlBitcoinProvider = {
    requestAccounts(): Promise<Address[]>;
    getAccounts(): Promise<Address[]>;
    signPsbt(psbtHex: string, finalise?: boolean): Promise<string>;
} & CtrlBitcoinEvents;
export declare function ctrl(parameters?: UTXOConnectorParameters): import("../factories/createConnector.js").CreateConnectorFn<UTXOWalletProvider | undefined, CtrlConnectorProperties, Record<string, unknown>>;
export declare namespace ctrl {
    var type: "UTXO";
}
export {};
