import type { IotaGraphQLClient } from '@iota/iota-sdk/graphql'; import type { Coupon, CouponHouse, IotaNamesClientConfig, IotaNamesCoreConfig, IotaNamesPriceList, IotaNamesSubnamesConfig, NameRecord, PackageInfo } from './types.js'; export declare class IotaNamesClient { graphQlClient: IotaGraphQLClient; config: PackageInfo; constructor(config: IotaNamesClientConfig); /** * Get the corresponding address for the given package. * Sometimes new versions might contain new types, * so its important to use the package they were created on when reading them in e.g GraphQL. * * - If the package does not have any versioning then the value is returned directly. * - If there are multiple versions available then the version passed as argument will be used to retrieve the package. * - If none of above returned a version then the latest will be picked. * * @argument {string} key - Package key. * @argument {string} [version=v1] - Optionally specify your desired version. */ getPackage(key: keyof PackageInfo, version?: `v${number}` | 'latest'): string; /** * Returns the core config of IOTA Names. */ getCoreConfig(): Promise; /** * Returns the subnames config of IOTA Names. */ getSubnamesConfig(): Promise; /** * Returns the price list for IOTA names in the base asset. */ getPriceList(): Promise; /** * Returns the renewal price list for IOTA names in the base asset. */ getRenewalPriceList(): Promise; getPublicName(address: string): Promise; getDenyListTableIds(): Promise<{ reservedTableId: string | null; blockedTableId: string | null; }>; /** * Gets the full reserved/blocked list */ getRestrictedList(type: 'reserved' | 'blocked'): Promise; getNameRecord(name: string): Promise; getCouponHouse(): Promise; resolveCoupon(couponCode: string): Promise; /** * Calculates the registration or renewal price for an SLN (Second Level Name). * It expects a name, the number of years and a `IotaNamesPriceList` object, * as returned from `iotaNamesClient.getPriceList()` function, or `iotaNames.getRenewalPriceList()` function. * * It throws an error: * 1. if the name is a subname * 2. if the name is not a valid IOTA name * 3. if the years are not between 1 and 5 */ calculatePrice({ name, years, isRegistration, }: { name: string; years: number; isRegistration?: boolean; }): Promise; calculateDiscountedPrice({ coupons, name, years, isRegistration, address, }: { coupons: Coupon[] | string[]; name: string; years: number; isRegistration?: boolean; address?: string; }): Promise; } //# sourceMappingURL=iota-names-client.d.ts.map