/**
 * Token account derivation utilities
 * @module pda/token
 */
import { Address } from '@solana/kit';
import { type UniversalSigner } from '../utils/signer';
/**
 * Derive an Associated Token Account (ATA) address
 *
 * ATAs are deterministic token accounts owned by a wallet for a specific token mint.
 * This is the standard way to derive token account addresses in Solana.
 *
 * @param owner - The wallet public key that owns the ATA
 * @param mint - The token mint public key
 * @param tokenProgramAddress - Optional token program address (defaults to SPL Token)
 * @param associatedTokenProgramAddress - Optional ATA program address (defaults to SPL ATA)
 * @returns The derived ATA address
 *
 * @example
 * ```typescript
 * import { deriveAssociatedTokenAccount } from './token';
 *
 * const ata = await deriveAssociatedTokenAccount(
 *   walletAddress,
 *   atlasMintAddress
 * );
 * ```
 */
export declare function deriveAssociatedTokenAccount(owner: UniversalSigner, mint: UniversalSigner, tokenProgramAddress?: UniversalSigner, associatedTokenProgramAddress?: UniversalSigner): Promise<Address>;
//# sourceMappingURL=token.d.ts.map