import { SignOptions, Signer } from '../signer.js'; type HexString = string; /** * Unisat wallet api, see [opcat api docs]{@link https://docs.opcat.io/dev/opcat-developer-center/opcat-wallet#opcat-wallet-api} * @category Signer */ export interface OpcatAPI { getAccounts: () => Promise; requestAccounts: () => Promise; getPublicKey: () => Promise; signPsbt(psbtHex: HexString, options?: SignOptions): Promise; signPsbts(psbtHexs: HexString[], options?: SignOptions[]): Promise; } /** * a [signer]{@link https://docs.opcatlabs.io/how-to-deploy-and-call-a-contract/#signer } which implemented the protocol with the [Unisat wallet]{@link https://opcat.io}, * and dapps can use to interact with the Unisat wallet * @category Signer */ export declare class WalletSigner implements Signer { private _opcat; constructor(opcat: OpcatAPI); /** * Retrieves the Unisat API instance from either the cached property or global window object. * @throws {Error} If Unisat API is not available (not installed). * @returns {OpcatAPI} The Unisat API instance. */ getOpcatAPI(): OpcatAPI; /** * Gets the address from the Unisat wallet API. * @returns A promise that resolves to the first account address string. */ getAddress(): Promise; /** * Retrieves the public key from the Unisat wallet API. * @returns A promise that resolves to the public key as a string. */ getPublicKey(): Promise; /** * Signs a PSBT (Partially Signed Opcat Transaction) using the Unisat wallet API. * * @param psbtHex - The PSBT in hexadecimal format to be signed. * @param options - Optional signing options (e.g., specific inputs to sign). * @returns A Promise resolving to the signed PSBT in hexadecimal format. */ signPsbt(psbtHex: string, options?: SignOptions): Promise; /** * Signs multiple PSBTs (Partially Signed Opcat Transactions) using the Unisat wallet API. * * @param reqs - Array of objects containing PSBT hex strings and optional signing options * @returns Promise resolving to an array of signed PSBT hex strings */ signPsbts(reqs: { psbtHex: string; options?: SignOptions; }[]): Promise; } export {}; //# sourceMappingURL=walletSigner.d.ts.map