import type { MediaClient } from "../../client/MediaClient.js"; import type { Photo, Video } from "../../types/media.js"; import type { SearchParams } from "../../types/requests.js"; import type { PaginatedResponse } from "../../types/pagination.js"; import type { MediaCapabilities } from "../../types/capabilities.js"; import type { MediaDownloadEvent, MediaEventMap, MediaViewEvent } from "../../events/types.js"; import type { Cache } from "../../cache/Cache.js"; import { ApiKeyProvider } from "../../auth/ApiKeyProvider.js"; import type { HttpClient } from "../../transport/HttpClient.js"; export interface PixabayMediaClientOptions { cache?: Cache; httpClient?: HttpClient; } export declare class PixabayMediaClient implements MediaClient { private readonly auth; readonly capabilities: MediaCapabilities; private readonly photosBaseUrl; private readonly videosBaseUrl; private readonly events; private readonly requestManager; private readonly httpClient; on(eventName: K, listener: (event: MediaEventMap[K]) => void): () => void; trackView(event: MediaViewEvent): void; trackDownload(event: MediaDownloadEvent): void; private emit; constructor(auth: ApiKeyProvider, options?: PixabayMediaClientOptions); private buildUrl; searchPhotos(params: SearchParams): Promise>; searchVideos(params: SearchParams): Promise>; getPhoto(id: number): Promise; getVideo(id: number): Promise