import { Address } from "@solana/kit";
export declare const ATTESTATION_SEED = "attestation";
export declare const CREDENTIAL_SEED = "credential";
export declare const SCHEMA_SEED = "schema";
export declare const EVENT_AUTHORITY_SEED = "__event_authority";
export declare const SAS_SEED = "sas";
export declare const SCHEMA_MINT_SEED = "schemaMint";
export declare const ATTESTATION_MINT_SEED = "attestationMint";
/**
* Derive the EVENT_AUTHORITY_ADDRESS.
*/
export declare const deriveEventAuthorityAddress: () => Promise
>;
/**
* Derive the SAS_ADDRESS.
*/
export declare const deriveSasAuthorityAddress: () => Promise>;
/**
* Derive a Credential (aka Issuer) PDA.
* @param authority The Address that controls the Credential account.
* @param name A name for the credential. NOTE that only the first 32 bytes
* will be used for the PDA due to seed size limits.
* @returns
*/
export declare const deriveCredentialPda: ({ authority, name, }: {
authority: Address;
name: string;
}) => Promise, import("@solana/kit").ProgramDerivedAddressBump]>;
/**
* Derive a Schema PDA.
* @param credential The Credential that the Schema is associated with.
* @param name A name for the schema. NOTE that only the first 32 bytes
* will be used for the PDA due to seed size limits.
* @param version The version number (up to 255) of the Schema.
* @returns
*/
export declare const deriveSchemaPda: ({ credential, name, version, }: {
credential: Address;
name: string;
version: number;
}) => Promise, import("@solana/kit").ProgramDerivedAddressBump]>;
/**
* Derive an Attestation PDA.
* @param credential The Credential (aka Issuer) that controls the Attestation state.
* @param schema The Schema that the Attestation adheres to.
* @param nonce An Address that may either represent the Wallet the Attestation
* is associated with OR a randomly generated Address to prevent PDA collision.
* @returns
*/
export declare const deriveAttestationPda: ({ credential, schema, nonce, }: {
credential: Address;
schema: Address;
nonce: Address;
}) => Promise, import("@solana/kit").ProgramDerivedAddressBump]>;
/**
* Derive the Token2022 Mint address of the tokenized Schema.
* @param schema The Schema that the token belongs to.
* @returns
*/
export declare const deriveSchemaMintPda: ({ schema }: {
schema: Address;
}) => Promise, import("@solana/kit").ProgramDerivedAddressBump]>;
/**
* Derive the Token2022 Mint address of the tokenized Attestation.
* @param attestations The Attestation that the token belongs to.
* @returns
*/
export declare const deriveAttestationMintPda: ({ attestation, }: {
attestation: Address;
}) => Promise, import("@solana/kit").ProgramDerivedAddressBump]>;