import { TokenType } from "../core"; import { Address } from "../core/address"; export declare type IssueFungibleInput = IssueInput & { initialSupply: bigint; numDecimals: bigint; }; export declare type IssueSemiFungibleInput = IssueNonFungibleInput; export declare type IssueNonFungibleInput = IssueInput & { canTransferNFTCreateRole: boolean; }; export declare type IssueInput = { tokenName: string; tokenTicker: string; canFreeze: boolean; canWipe: boolean; canPause: boolean; canChangeOwner: boolean; canUpgrade: boolean; canAddSpecialRoles: boolean; }; export declare type FungibleSpecialRoleInput = { user: Address; tokenIdentifier: string; addRoleLocalMint: boolean; addRoleLocalBurn: boolean; addRoleESDTTransferRole: boolean; }; export declare type SemiFungibleSpecialRoleInput = { user: Address; tokenIdentifier: string; addRoleNFTCreate: boolean; addRoleNFTBurn: boolean; addRoleNFTAddQuantity: boolean; addRoleESDTTransferRole: boolean; addRoleNFTUpdate?: boolean; addRoleESDTModifyRoyalties?: boolean; addRoleESDTSetNewUri?: boolean; addRoleESDTModifyCreator?: boolean; addRoleNFTRecreate?: boolean; }; export declare type SpecialRoleInput = { user: Address; tokenIdentifier: string; addRoleNFTCreate: boolean; addRoleNFTBurn: boolean; addRoleNFTUpdateAttributes: boolean; addRoleNFTAddURI: boolean; addRoleESDTTransferRole: boolean; addRoleESDTModifyCreator?: boolean; addRoleNFTRecreate?: boolean; addRoleESDTSetNewURI?: boolean; addRoleESDTModifyRoyalties?: boolean; }; export declare type UnsetFungibleSpecialRoleInput = { user: Address; tokenIdentifier: string; removeRoleLocalMint: boolean; removeRoleLocalBurn: boolean; removeRoleESDTTransferRole: boolean; }; export declare type UnsetSemiFungibleSpecialRoleInput = { user: Address; tokenIdentifier: string; removeRoleNFTBurn: boolean; removeRoleNFTAddQuantity: boolean; removeRoleESDTTransferRole: boolean; removeRoleNFTUpdate?: boolean; removeRoleESDTModifyRoyalties?: boolean; removeRoleESDTSetNewUri?: boolean; removeRoleESDTModifyCreator?: boolean; removeRoleNFTRecreate?: boolean; }; export declare type UnsetSpecialRoleInput = { user: Address; tokenIdentifier: string; removeRoleNFTBurn: boolean; removeRoleNFTUpdateAttributes: boolean; removeRoleNFTAddURI: boolean; removeRoleESDTTransferRole: boolean; removeRoleESDTModifyCreator?: boolean; removeRoleNFTRecreate?: boolean; removeRoleESDTSetNewURI?: boolean; removeRoleESDTModifyRoyalties?: boolean; }; export declare type MintInput = { tokenIdentifier: string; initialQuantity: bigint; name: string; royalties: number; hash: string; attributes: Uint8Array; uris: string[]; }; export declare type ManagementInput = { user: Address; tokenIdentifier: string; }; export declare type PausingInput = { tokenIdentifier: string; }; export declare type LocalBurnInput = { tokenIdentifier: string; supplyToBurn: bigint; }; export declare type LocalMintInput = { tokenIdentifier: string; supplyToMint: bigint; }; export declare type UpdateAttributesInput = UpdateInput & { attributes: Uint8Array; }; export declare type UpdateQuantityInput = UpdateInput & { quantity: bigint; }; export declare type UpdateInput = { tokenIdentifier: string; tokenNonce: bigint; }; export declare type BurnRoleGloballyInput = { tokenIdentifier: string; }; export declare type UpdateTokenIDInput = { tokenIdentifier: string; }; export declare type ChangeTokenToDynamicInput = { tokenIdentifier: string; }; export declare type RegisterRolesInput = { tokenName: string; tokenTicker: string; tokenType: TokenType; numDecimals: bigint; }; export declare type RegisterMetaESDTInput = { tokenName: string; tokenTicker: string; numDecimals: bigint; canFreeze: boolean; canWipe: boolean; canPause: boolean; canTransferNFTCreateRole: boolean; canChangeOwner: boolean; canUpgrade: boolean; canAddSpecialRoles: boolean; }; export declare type ModifyRoyaltiesInput = BaseInput & { newRoyalties: bigint; }; export declare type ModifyCreatorInput = BaseInput; export declare type BaseInput = { tokenIdentifier: string; tokenNonce: bigint; }; export declare type SetNewUriInput = BaseInput & { newUris: string[]; }; export declare type ManageMetadataInput = { tokenIdentifier: string; tokenNonce: bigint; newTokenName?: string; newRoyalties?: bigint; newHash?: string; newAttributes?: Uint8Array; newUris?: string[]; }; export declare type RegisteringDynamicTokenInput = { tokenName: string; tokenTicker: string; tokenType: TokenType; }; export declare type SpecialRoleOutput = { userAddress: Address; tokenIdentifier: string; roles: string[]; }; export declare type MintNftOutput = { tokenIdentifier: string; nonce: bigint; initialQuantity: bigint; }; export declare type EsdtOutput = { tokenIdentifier: string; }; export declare type ModifyRoyaltiesOutput = { tokenIdentifier: string; nonce: bigint; royalties: bigint; }; export declare type SetNewUrisOutput = { tokenIdentifier: string; nonce: bigint; uri: string; }; export declare type ModifyingCreatorOutput = { tokenIdentifier: string; nonce: bigint; }; export declare type UpdateAttibutesOutput = { tokenIdentifier: string; nonce: bigint; metadata: Uint8Array; }; export declare type ChangeToDynamicOutput = { tokenIdentifier: string; tokenName: string; tickerName: string; tokenType: string; }; export declare type UpdateTokenIDOutput = { caller: Address; tokenIdentifier: string; token: string; }; export declare type RegisterDynamicOutput = { tokenIdentifier: string; tokenName: string; tokenTicker: string; tokenType: string; numOfDecimals: number; };