import { type AnchorProvider } from "@coral-xyz/anchor";
import { type AssetControllerAccount } from "./types";
/**
 * Retrieves a asset controller account associated with a specific asset mint.
 * @param assetMint - The string representation of the asset mint.
 * @returns A promise resolving to the fetched asset controller account, or `undefined` if it doesn't exist.
 */
export declare function getAssetControllerAccount(assetMint: string, provider: AnchorProvider): Promise<AssetControllerAccount | undefined>;
export interface AssetControllerDataFilter {
    assetMint?: string;
    authority?: string;
    delegate?: string;
    owner?: string;
}
export declare const ASSET_CONTROLLER_ASSET_MINT_OFFSET = 9;
export declare const ASSET_CONTROLLER_AUTHORITY_OFFSET = 41;
export declare const ASSET_CONTROLLER_DELEGATE_OFFSET = 73;
/**
 * Retrieves a asset controller account associated with a specific asset mint.
 * @param assetMint - The string representation of the asset mint.
 * @returns A promise resolving to the fetched asset controller account, or `undefined` if it doesn't exist.
 */
export declare function getAssetControllerAccountsWithFilter(filter: Omit<AssetControllerDataFilter, "owner">, provider: AnchorProvider): Promise<AssetControllerAccount[] | undefined>;
