/// <reference types="@coral-xyz/anchor/node_modules/@solana/web3.js" />
import { Program, type Provider } from "@coral-xyz/anchor";
import { PublicKey } from "@solana/web3.js";
import { type PolicyEngineIdlTypes } from "../programs/types";
/** Program address for the policy engine program. */
export declare const policyEngineProgramId: PublicKey;
/**
 * Returns the policy engine program as a typed anchor program.
 * @param provider - Solana anchor provider.
 * @returns Typed solana program to be used for transaction building.
 */
export declare const getPolicyEngineProgram: (provider: Provider) => Program<PolicyEngineIdlTypes>;
/**
 * Retrieves the policy engine pda account for a specific asset mint.
 * @param assetMint - The string representation of the asset's mint address.
 * @returns The policy engines pda.
 */
export declare const getPolicyEnginePda: (assetMint: string) => PublicKey;
/**
 * Retrieves the policy account pda for a specific asset mint.
 * @param assetMint - The string representation of the asset's mint address.
 * @returns The policy accounts pda.
 */
export declare const getPolicyAccountPda: (assetMint: string) => PublicKey;
/**
 * Retrieves the tracker pda for a specific asset controller mint and owner.
 * @param assetMint - The string representation of the asset's mint address.
 * @param owner - The string representation of asset's owner.
 * @returns The asset controller's tracker pda.
 */
export declare const getTrackerAccountPda: (assetMint: string, owner: string) => PublicKey;
export declare const getPolicyEnginerEventAuthority: () => PublicKey;
/**
 * Retrieves the asset controller's metadata pda account for a specific asset mint.
 * @param assetMint - The string representation of the asset's mint address.
 * @returns The asset controller's extra metadata pda.
 */
export declare const getExtraMetasListPda: (assetMint: string) => PublicKey;
