import { type Address, type Contract, type ContractProvider, type Sender, type Cell } from 'ton-core'; import { type Maybe } from 'ton-core/dist/utils/maybe'; import { type Send } from '../../utils/send'; import { type StandardNftData } from '../../standard/StandardNftItem'; export type SbtSingleData = { ownerAddress: Address; editorAddress: Address; content: string; authorityAddress: Address; revokedAt?: number; }; export type SbtSingleGetAuthorityAddressData = { authorityAddress: Address | null; }; export type SbtSingleGetRevokedTimeData = { revoked_time: bigint; }; /** * Represents a single item of the SBT (Soul Bound Token) NFT * Implements the Contract interface */ export declare class SbtSingle implements Contract { readonly address: Address; readonly init?: { code: Cell; data: Cell; } | undefined; static code: Cell; /** * Constructs an instance of the SbtSingle contract * @param address - The address of the contract * @param init - Optional initialization data for the contract */ constructor(address: Address, init?: { code: Cell; data: Cell; } | undefined); /** * Builds a data cell for the SbtSingle contract * @param data - The data for the contract * @returns A data cell */ static buildDataCell(data: SbtSingleData): Cell; /** * Constructs an instance of the SbtSingle contract from an address * @param address - The address of the contract * @returns An instance of SbtSingle */ static createFromAddress(address: Address): SbtSingle; /** * Constructs an instance of the SbtSingle contract from a configuration object * @param config - The configuration object for the contract * @param workchain - The workchain ID (default is 0) * @returns An instance of SbtSingle */ static createFromConfig(config: SbtSingleData, workchain?: number): Promise; /** * Sends a "deploy" command to the contract * @param provider - The contract provider * @param via - The sender of the "deploy" command * @param value - The value sent with the "deploy" command */ sendDeploy(provider: ContractProvider, via: Sender, value: bigint): Promise; /** * Sends a "prove ownership" command to the contract * @param provider - The contract provider * @param via - The sender of the "prove ownership" command * @param params - The parameters for the "prove ownership" command, including value, queryId, dest, forwardPayload, and withContent */ sendProveOwnership(provider: ContractProvider, via: Sender, params: Send & { dest: Address; forwardPayload: Maybe; withContent: boolean; }): Promise; /** * Sends a request owner command to the contract * @param provider - The contract provider * @param via - The sender of the request owner command * @param params - The parameters for the request owner command, including value, queryId, dest, forwardPayload, and withContent */ sendRequestOwner(provider: ContractProvider, via: Sender, params: Send & { dest: Address; forwardPayload: Maybe; withContent: boolean; }): Promise; /** * Sends a revoke command to the contract * @param provider - The contract provider * @param via - The sender of the revoke command * @param params - The parameters for the revoke command, including value and queryId */ sendRevoke(provider: ContractProvider, via: Sender, params: Send): Promise; /** * Retrieves the NFT data from the contract * @param provider - The contract provider * @returns An object containing the NFT data, including init, index, collectionAddress, ownerAddress, and individualContent */ getNftData(provider: ContractProvider): Promise; /** * Retrieves the authority address from the contract * @param provider - The contract provider * @returns An object containing the authority address */ getAuthorityAddress(provider: ContractProvider): Promise; /** * Retrieves the time when the contract was revoked * @param provider - The contract provider * @returns An object containing the revoked time */ getRevokedTime(provider: ContractProvider): Promise; } //# sourceMappingURL=SbtSingle.d.ts.map