/**
 * Represents a date value in various formats accepted by Firebase.
 * Can be a JavaScript Date, a Firestore Timestamp, or an ISO 8601 string.
 */
export type DateValue = Date | FirestoreTimestamp | string;
/**
 * Interface mimicking Firebase Timestamp for type compatibility
 */
export interface FirestoreTimestamp {
    seconds: number;
    nanoseconds: number;
    toDate(): Date;
    toMillis(): number;
    isEqual(other: FirestoreTimestamp): boolean;
    valueOf(): string;
}
/**
 * Converts various date formats to ISO string
 * Handles Date, FirestoreTimestamp, and string inputs
 *
 * @version 0.1.0
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
export declare function toISOString(date: DateValue): string;
/**
 * Calculate subscription end date with proper edge case handling
 *
 * @version 0.1.0
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 * @param duration - Duration string (e.g., '1month', '3months', '1year', 'lifetime')
 * @param startDate - Start date (defaults to now)
 * @returns ISO string of end date (required for Firestore compatibility)
 */
export declare function calculateSubscriptionEndDate(duration: string, startDate?: Date): string;
