import { Address, Rpc, GetAccountInfoApi, GetTokenLargestAccountsApi } from '@solana/kit'; /** * Parameters for deriving an SNS NFT mint. * * @example * ```ts * const params: GetSnsNftMintParams = { domainAddress }; * ``` */ interface GetSnsNftMintParams { /** Tokenized domain account address. */ domainAddress: Address; } /** * Derives the mint address of a tokenized SNS domain. * * @param params NFT mint derivation parameters * @param params.domainAddress Domain account address used to derive the NFT mint * @returns The derived SNS domain NFT mint address. * * @example * ```ts * const mint = await getSnsNftMint({ domainAddress }); * ``` */ declare const getSnsNftMint: ({ domainAddress }: GetSnsNftMintParams) => Promise>; /** * Parameters for retrieving an SNS NFT owner. * * @example * ```ts * const params: GetSnsNftOwnerParams = { rpc, domainAddress }; * ``` */ interface GetSnsNftOwnerParams { /** RPC client. */ rpc: Rpc; /** Tokenized domain account address. */ domainAddress: Address; } /** * Retrieves the owner of a tokenized SNS domain. * * @param params NFT owner retrieval parameters * @param params.rpc RPC client implementing account and token-largest-account APIs * @param params.domainAddress Domain account address whose tokenized owner is retrieved * @returns The SNS domain NFT owner address, or `null` when no valid tokenized owner is found. * * @example * ```ts * const owner = await getSnsNftOwner({ rpc, domainAddress }); * ``` */ declare const getSnsNftOwner: ({ rpc, domainAddress, }: GetSnsNftOwnerParams) => Promise
; export { getSnsNftMint, getSnsNftOwner }; export type { GetSnsNftMintParams, GetSnsNftOwnerParams };