import type { Config } from "../config.js";
/**
 * Downloads a video from the specified URL.
 *
 * @param url - The URL of the video to download
 * @param config - Configuration object for download settings
 * @param resolution - Preferred video resolution ('480p', '720p', '1080p', 'best')
 * @param startTime - Optional start time for trimming (format: HH:MM:SS[.ms])
 * @param endTime - Optional end time for trimming (format: HH:MM:SS[.ms])
 * @returns Promise resolving to a success message with the downloaded file path
 * @throws {Error} When URL is invalid or download fails
 *
 * @example
 * ```typescript
 * // Download with default settings
 * const result = await downloadVideo('https://youtube.com/watch?v=...');
 * console.log(result);
 *
 * // Download with specific resolution
 * const hdResult = await downloadVideo(
 *   'https://youtube.com/watch?v=...',
 *   undefined,
 *   '1080p'
 * );
 * console.log(hdResult);
 *
 * // Download with trimming
 * const trimmedResult = await downloadVideo(
 *   'https://youtube.com/watch?v=...',
 *   undefined,
 *   '720p',
 *   '00:01:30',
 *   '00:02:45'
 * );
 * console.log(trimmedResult);
 * ```
 */
export declare function downloadVideo(url: string, config: Config, resolution?: "480p" | "720p" | "1080p" | "best", startTime?: string, endTime?: string): Promise<string>;
