import type { StealthKeys, GeneratedStealthAddress } from './types';
type Address = `0x${string}`;
type Hex = `0x${string}`;
/**
 * Generate a new set of stealth keys for receiving private payments
 * @returns StealthKeys containing spending and viewing key pairs plus meta-address
 */
export declare function generateStealthKeys(): StealthKeys;
/**
 * Generate a one-time stealth address for a recipient
 * @param stealthMetaAddress Recipient's stealth meta-address (66 bytes)
 * @returns Generated stealth address, ephemeral public key, and view tag
 */
export declare function generateStealthAddress(stealthMetaAddress: Hex): GeneratedStealthAddress;
/**
 * Check if a stealth address belongs to you (using your viewing key)
 * @param ephemeralPubKey Ephemeral public key from announcement
 * @param viewingPrivateKey Your viewing private key
 * @param spendingPublicKey Your spending public key
 * @param announcedAddress The stealth address from announcement
 * @param viewTag Optional view tag for fast filtering
 * @returns true if the stealth address belongs to you
 */
export declare function checkStealthAddress(ephemeralPubKey: Hex, viewingPrivateKey: Hex, spendingPublicKey: Hex, announcedAddress: Address, viewTag?: number): boolean;
/**
 * Derive the private key for a stealth address you own
 * @param viewingPrivateKey Your viewing private key
 * @param spendingPrivateKey Your spending private key
 * @param ephemeralPubKey Ephemeral public key from announcement
 * @returns Private key for the stealth address
 */
export declare function deriveStealthPrivateKey(viewingPrivateKey: Hex, spendingPrivateKey: Hex, ephemeralPubKey: Hex): Hex;
/**
 * Parse a stealth meta-address into its components
 */
export declare function parseMetaAddress(metaAddress: Hex): {
    spendingPublicKey: Hex;
    viewingPublicKey: Hex;
};
/**
 * Create a stealth meta-address from spending and viewing public keys
 */
export declare function createMetaAddress(spendingPublicKey: Hex, viewingPublicKey: Hex): Hex;
export {};
//# sourceMappingURL=stealthAddress.d.ts.map