import { Script, TaggedBEEF, LookupResolverConfig } from '@bsv/sdk'; import { Advertisement, AdvertisementData, Advertiser } from '@bsv/overlay'; /** * Implements the Advertiser interface for managing SHIP and SLAP advertisements using a Wallet. */ export declare class WalletAdvertiser implements Advertiser { chain: 'main' | 'test'; privateKey: string; storageURL: string; advertisableURI: string; lookupResolverConfig?: LookupResolverConfig; private readonly wallet; private readonly storageManager; private readonly identityKey; private initialized; /** * Constructs a new WalletAdvertiser instance. * @param chain - The blockchain (main or test) where this advertiser is advertising * @param privateKey - The private key used for signing transactions. * @param storageURL - The URL of the UTXO storage server for the Wallet. * @param advertisableURI - The advertisable URI where services are made available. * @param lookupResolverConfig — If provided, overrides the resolver config used for lookups. Otherwise defaults to the network preset associated with the wallet's network. */ constructor(chain: 'main' | 'test', privateKey: string, storageURL: string, advertisableURI: string, lookupResolverConfig?: LookupResolverConfig); /** * Initializes the wallet asynchronously. */ init(): Promise; /** * Utility function to create multiple advertisements in a single transaction. * @param adsData Array of advertisement details. * @returns The Tagged BEEF for the created advertisement * @throws Will throw an error if the locking key is invalid. */ createAdvertisements(adsData: AdvertisementData[]): Promise; /** * Finds all SHIP or SLAP advertisements for a given topic created by this identity. * @param topic - Whether SHIP or SLAP advertisements should be returned. * @returns A promise that resolves to an array of advertisements. */ findAllAdvertisements(protocol: 'SHIP' | 'SLAP'): Promise; /** * Revokes an existing advertisement. * @param advertisements - The advertisements to revoke, either SHIP or SLAP. * @returns A promise that resolves to the revoked advertisement as TaggedBEEF. */ revokeAdvertisements(advertisements: Advertisement[]): Promise; /** * Parses an advertisement from the provided output script. * @param outputScript - The output script to parse. * @returns An Advertisement object if the script matches the expected format, otherwise throws an error. */ parseAdvertisement(outputScript: Script): Advertisement; } //# sourceMappingURL=WalletAdvertiser.d.ts.map