import { type Address } from '@bigmi/core';
import type { BtcAccount } from '../types/account.js';
import type { UTXOConnectorParameters, UTXOWalletProvider } from './types.js';
export type OylConnectorProperties = {
    getAccounts(): Promise<readonly (BtcAccount | Address)[]>;
    onAccountsChanged(accounts: (BtcAccount | Address)[]): 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;
    }>;
};
export declare function oyl(parameters?: UTXOConnectorParameters): import("../factories/createConnector.js").CreateConnectorFn<UTXOWalletProvider | undefined, OylConnectorProperties, Record<string, unknown>>;
export declare namespace oyl {
    var type: "UTXO";
}
export {};
