import { PrimeValue, SEMANTIC_PRIMES, Transfer, TransferType } from './types.js';
/**
 * Check if a number is prime
 */
export declare function isPrime(n: number): boolean;
/**
 * Generate first n primes
 */
export declare function generatePrimes(count: number): number[];
/**
 * Factorize a number into prime factors
 * Returns Map of prime → exponent
 */
export declare function factorize(n: number | bigint): Map<number, number>;
/**
 * Compute the product of prime factors
 */
export declare function computeValue(factors: Map<number, number>): bigint;
/**
 * Get semantic meanings from a set of prime factors
 */
export declare function getSemantics(factors: Map<number, number>): string[];
/**
 * Compute resonance signature from factors
 * This is a numeric fingerprint based on prime relationships
 */
export declare function computeSignature(factors: Map<number, number>): number;
/**
 * Create a PrimeValue from a numeric amount
 */
export declare function createPrimeValue(amount: number | bigint): PrimeValue;
/**
 * Create a PrimeValue from explicit factors
 */
export declare function createPrimeValueFromFactors(factors: Map<number, number> | Record<number, number>): PrimeValue;
/**
 * Create a PrimeValue from an array of primes (each appears once)
 */
export declare function createPrimeValueFromPrimes(primes: number[]): PrimeValue;
/**
 * Create a zero PrimeValue
 */
export declare function zeroPrimeValue(): PrimeValue;
/**
 * Create a unit PrimeValue (value = 1)
 */
export declare function unitPrimeValue(): PrimeValue;
/**
 * Multiply two PrimeValues (add exponents)
 * a × b = product of factors
 */
export declare function multiplyPrimeValues(a: PrimeValue, b: PrimeValue): PrimeValue;
/**
 * Divide PrimeValue a by b (subtract exponents)
 * Returns null if b does not divide a evenly
 */
export declare function dividePrimeValues(a: PrimeValue, b: PrimeValue): PrimeValue | null;
/**
 * Add two PrimeValues
 * Converts to numbers, adds, then refactorizes
 */
export declare function addPrimeValues(a: PrimeValue, b: PrimeValue): PrimeValue;
/**
 * Subtract b from a
 * Returns null if result would be negative
 */
export declare function subtractPrimeValues(a: PrimeValue, b: PrimeValue): PrimeValue | null;
/**
 * Scale a PrimeValue by an integer factor
 */
export declare function scalePrimeValue(v: PrimeValue, factor: number): PrimeValue;
/**
 * Raise PrimeValue to a power
 */
export declare function powerPrimeValue(v: PrimeValue, exponent: number): PrimeValue;
/**
 * Compare two PrimeValues
 * Returns: -1 if a < b, 0 if a === b, 1 if a > b
 */
export declare function comparePrimeValues(a: PrimeValue, b: PrimeValue): -1 | 0 | 1;
/**
 * Check if two PrimeValues are equal
 */
export declare function equalsPrimeValue(a: PrimeValue, b: PrimeValue): boolean;
/**
 * Check if a >= b
 */
export declare function gte(a: PrimeValue, b: PrimeValue): boolean;
/**
 * Check if a > b
 */
export declare function gt(a: PrimeValue, b: PrimeValue): boolean;
/**
 * Check if a <= b
 */
export declare function lte(a: PrimeValue, b: PrimeValue): boolean;
/**
 * Check if a < b
 */
export declare function lt(a: PrimeValue, b: PrimeValue): boolean;
/**
 * Calculate resonance between two PrimeValues
 * Returns 0-1 based on shared prime factors
 */
export declare function calculateResonance(a: PrimeValue, b: PrimeValue): number;
/**
 * Check if two PrimeValues share a specific semantic
 */
export declare function sharesSemantics(a: PrimeValue, b: PrimeValue, semantic: string): boolean;
/**
 * Create a transfer record
 */
export declare function createTransfer(from: string, to: string, amount: PrimeValue, transferType: TransferType, options?: {
    contractId?: string;
    method?: string;
    signature?: string;
}): Transfer;
/**
 * Validate a transfer
 * Returns { valid: true } or { valid: false, error: string }
 */
export declare function validateTransfer(transfer: Transfer, senderBalance: PrimeValue): {
    valid: true;
} | {
    valid: false;
    error: string;
};
/**
 * Serialize PrimeValue for storage/transmission
 */
export declare function serializePrimeValue(v: PrimeValue): string;
/**
 * Deserialize PrimeValue from storage/transmission
 */
export declare function deserializePrimeValue(json: string): PrimeValue;
/**
 * Convert PrimeValue to display string
 */
export declare function formatPrimeValue(v: PrimeValue, options?: {
    showFactors?: boolean;
}): string;
export { SEMANTIC_PRIMES };
//# sourceMappingURL=economy.d.ts.map