import type { Config } from "../config.js";
/**
 * Upload date filter type
 */
export type UploadDateFilter = "hour" | "today" | "week" | "month" | "year";
/**
 * YouTube search result interface
 */
export interface SearchResult {
    title: string;
    id: string;
    url: string;
    uploader?: string;
    duration?: string;
    viewCount?: string;
    uploadDate?: string;
}
/**
 * Search YouTube videos
 * @param query Search keywords
 * @param maxResults Maximum number of results (1-50)
 * @param offset Number of results to skip for pagination
 * @param responseFormat Output format ('json' or 'markdown')
 * @param config Configuration object
 * @param uploadDateFilter Optional filter by upload date
 * @returns Search results formatted as string
 */
export declare function searchVideos(query: string, maxResults: number | undefined, offset: number | undefined, responseFormat: "json" | "markdown" | undefined, config: Config, uploadDateFilter?: UploadDateFilter): Promise<string>;
/**
 * Search videos on specific platform (future expansion feature)
 * @param query Search keywords
 * @param platform Platform name ('youtube', 'bilibili', etc.)
 * @param maxResults Maximum number of results
 * @param offset Number of results to skip
 * @param responseFormat Output format
 * @param config Configuration object
 */
export declare function searchByPlatform(query: string, platform: string | undefined, maxResults: number | undefined, offset: number | undefined, responseFormat: "json" | "markdown" | undefined, config: Config): Promise<string>;
