import { KeyedAccountInfo, PublicKey } from '@solana/web3.js'; import { Account, AsyncSigner, DecodedAccountData, InstructionReturn } from '@staratlas/data-source'; import { KeyIndexInput } from './common'; import { CraftingDomainAccount, CraftingIDL, CraftingIDLProgram } from './constants'; /** * Checks equality between 2 Domain Accounts * @param data1 - First Domain Account * @param data2 - Second Domain Account * @returns boolean */ export declare function craftingDomainDataEquals(data1: CraftingDomainAccount, data2: CraftingDomainAccount): boolean; export declare class CraftingDomain implements Account { private _data; private _key; static readonly ACCOUNT_NAME: NonNullable[number]['name']; static readonly MIN_DATA_SIZE: number; constructor(_data: CraftingDomainAccount, _key: PublicKey); get data(): Readonly; get key(): PublicKey; static decodeData(account: KeyedAccountInfo, program: CraftingIDLProgram): DecodedAccountData; /** * Register a Crafting Domain * @param program - Crafting program * @param domain - the crafting domain * @param signer - The entity calling this instruction * @param profile - Profile Account that will hold required Crafting Permissions for this new domain * @param namespace - the name of the new crafting domain (use `stringToByteArray` to convert a string to a byte array) * @returns InstructionReturn */ static initializeDomain(program: CraftingIDLProgram, domain: AsyncSigner, signer: AsyncSigner, profile: PublicKey, namespace: number[]): InstructionReturn; /** * Update a crafting domain * @param program - Crafting program * @param domain - the crafting domain * @param key - Key authorized to use this instruction * @param profile - Profile Account with required Crafting Permissions * @param newProfile - The new crafting permissions profile (replaces `profile`) * @param input - the input parameters * @returns InstructionReturn */ static updateDomain(program: CraftingIDLProgram, domain: PublicKey, key: AsyncSigner, profile: PublicKey, newProfile: PublicKey, input: KeyIndexInput): InstructionReturn; } //# sourceMappingURL=domain.d.ts.map