import { CreateConnectorFn } from "../types/connector.js";
import { UTXOConnectorParameters, UTXOWalletProvider } from "./types.js";
import { Account } from "@bigmi/core";

//#region src/connectors/oyl.d.ts
type OylConnectorProperties = {
  getAccounts(): Promise<readonly Account[]>;
  onAccountsChanged(accounts: Account[]): void;
  getInternalProvider(): Promise<OylBitcoinProvider>;
} & UTXOWalletProvider;
type OylAddress = {
  address: string;
  publicKey: string;
};
type OylBitcoinProvider = {
  isConnected(): Promise<boolean>;
  disconnect(): void;
  getAddresses(): Promise<{
    taproot: OylAddress;
    nativeSegwit: OylAddress;
    nestedSegwit: OylAddress;
    legacy: OylAddress;
  }>;
  getBalance(): Promise<{
    unconfirmed: number;
    confirmed: number;
    total: number;
  }>;
  signPsbt(params: {
    psbt: string;
    finalize?: boolean;
    broadcast?: boolean;
  }): Promise<{
    psbt: string;
    txid?: string;
  }>;
};
declare function oyl(parameters?: UTXOConnectorParameters): CreateConnectorFn<UTXOWalletProvider | undefined, OylConnectorProperties>;
declare namespace oyl {
  export var type: "UTXO";
}
//#endregion
export { OylConnectorProperties, oyl };
//# sourceMappingURL=oyl.d.ts.map