import { CreateConnectorFn } from "../types/connector.js"; import { UTXOConnectorParameters, UTXOWalletProvider } from "./types.js"; import { Account, Address, AddressPurpose } from "@bigmi/core"; //#region src/connectors/ctrl.d.ts interface GetAccountsRequest { purposes: AddressPurpose[]; } type CtrlResponse = { status: "success"; result: T; error?: never; } | { status: "error"; error: string; result?: never; }; interface CtrlSignPsbtResult { psbt: string; txid: string; } interface CtrlAccount { address: string; publicKey: string; purpose: AddressPurpose; addressType: string; walletType: string; } type CtrlBitcoinEventMap = { accountsChanged(accounts: Address[]): void; }; type CtrlBitcoinEvents = { addListener(event: TEvent, listener: CtrlBitcoinEventMap[TEvent]): void; removeListener(event: TEvent, listener: CtrlBitcoinEventMap[TEvent]): void; }; type CtrlConnectorProperties = { getAccounts(): Promise; onAccountsChanged(accounts: Address[]): void; getInternalProvider(): Promise; } & UTXOWalletProvider; type CtrlBitcoinProvider = { signPsbt({ psbt }: { psbt: string; broadcast: boolean; }): Promise>; requestAccounts(): Promise; getAccounts(): Promise; request({ method, params }: { method: "request_accounts_and_keys"; params: GetAccountsRequest; }): Promise>; } & CtrlBitcoinEvents; declare function ctrl(parameters?: UTXOConnectorParameters): CreateConnectorFn; declare namespace ctrl { export var type: "UTXO"; } //#endregion export { CtrlBitcoinEventMap, CtrlBitcoinEvents, ctrl }; //# sourceMappingURL=ctrl.d.ts.map