/**
 * @purpose Duration parameter conversion utilities
 *
 * Converts user-friendly duration formats to seconds for use with Solana programs.
 */
/**
 * Duration parameter type
 *
 * Accepts either a plain number (seconds) or an object with time units.
 */
export type DurationParam = number | {
    seconds?: number;
} | {
    minutes?: number;
} | {
    hours?: number;
} | {
    days?: number;
} | {
    weeks?: number;
} | {
    months?: number;
};
/**
 * Convert duration parameter to seconds
 *
 * @param duration - Duration in any supported format
 * @returns Duration in seconds
 * @throws Error if duration is invalid or negative
 *
 * @example
 * ```typescript
 * convertDuration(3600)              // 3600 seconds
 * convertDuration({ hours: 1 })      // 3600 seconds
 * convertDuration({ days: 7 })       // 604800 seconds
 * convertDuration({ weeks: 2 })      // 1209600 seconds
 * ```
 */
export declare function convertDuration(duration: DurationParam): number;
/**
 * Validate duration limits
 *
 * Ensures duration is within reasonable bounds for rental contracts.
 *
 * @param durationSeconds - Duration in seconds
 * @param min - Minimum allowed duration (default: 1 hour)
 * @param max - Maximum allowed duration (default: 1 year)
 * @throws Error if duration is out of bounds
 */
export declare function validateDuration(durationSeconds: number, min?: number, max?: number): void;
/**
 * Format duration in seconds to human-readable string
 *
 * @param seconds - Duration in seconds
 * @returns Human-readable duration string
 *
 * @example
 * ```typescript
 * formatDuration(3600)   // "1 hour"
 * formatDuration(86400)  // "1 day"
 * formatDuration(7200)   // "2 hours"
 * ```
 */
export declare function formatDuration(seconds: number): string;
//# sourceMappingURL=duration.d.ts.map