export declare function extractInitialPlayerResponse(html: string): Record<string, unknown> | null;
export type YoutubePlayerMetadata = {
    durationSeconds: number | null;
    viewCount: number | null;
};
export declare function extractDurationSecondsFromPlayerPayload(payload: Record<string, unknown>): number | null;
export declare function extractViewCountFromPlayerPayload(payload: Record<string, unknown>): number | null;
export declare function extractYoutubeDurationSeconds(html: string): number | null;
export declare function extractYoutubePlayerMetadata(html: string): YoutubePlayerMetadata | null;
export declare function extractYoutubeViewCount(html: string): number | null;
export declare function extractInnertubeApiKey(html: string): string | null;
export declare function fetchYoutubePlayerPayload(fetchImpl: typeof fetch, { html, videoId, timeoutMs }: {
    html: string;
    videoId: string;
    timeoutMs?: number;
}): Promise<Record<string, unknown> | null>;
export declare function fetchYoutubeDurationSecondsViaPlayer(fetchImpl: typeof fetch, { html, videoId }: {
    html: string;
    videoId: string;
}): Promise<number | null>;
export declare function fetchYoutubePlayerMetadata(fetchImpl: typeof fetch, { html, videoId, timeoutMs }: {
    html: string;
    videoId: string;
    timeoutMs?: number;
}): Promise<YoutubePlayerMetadata | null>;
