type TSleepParams = {
    milliseconds?: number;
    seconds?: number;
    minutes?: number;
    until?: {
        unixTimestamp?: number;
    };
    random?: {
        milliseconds?: {
            min: number;
            max: number;
        };
        seconds?: {
            min: number;
            max: number;
        };
        minutes?: {
            min: number;
            max: number;
        };
    };
};
type TSleepReturn = Promise<void>;
/**
 * Sleep function that supports various delay options
 * @param params - Sleep parameters including fixed delays, random delays, or until timestamp
 * @returns Promise that resolves after the specified delay
 * @throws Error if invalid parameters are provided
 */
declare const sleep: (params: TSleepParams) => TSleepReturn;
/**
 * Convenience function to sleep for a specific number of milliseconds
 * @param ms - Number of milliseconds to sleep
 * @returns Promise that resolves after the specified delay
 */
declare const sleepMs: (ms: number) => TSleepReturn;
/**
 * Convenience function to sleep for a specific number of seconds
 * @param seconds - Number of seconds to sleep
 * @returns Promise that resolves after the specified delay
 */
declare const sleepSeconds: (seconds: number) => TSleepReturn;
/**
 * Convenience function to sleep for a specific number of minutes
 * @param minutes - Number of minutes to sleep
 * @returns Promise that resolves after the specified delay
 */
declare const sleepMinutes: (minutes: number) => TSleepReturn;
/**
 * Convenience function to sleep until a specific Unix timestamp
 * @param unixTimestamp - Unix timestamp (in seconds) to sleep until
 * @returns Promise that resolves at the specified timestamp
 */
declare const sleepUntil: (unixTimestamp: number) => TSleepReturn;

export { type TSleepParams, type TSleepReturn, sleep, sleepMinutes, sleepMs, sleepSeconds, sleepUntil };
