import { RequestInit } from "node-fetch"; export declare type OAuthOptions = { enabled: boolean; refreshToken?: string; }; export declare type OAuthProps = { token: string | null; expiresAt: Date | null; refreshToken?: string; }; export declare type PotOptions = { token: string; visitorData: string; }; export declare type HTTPOptions = { apiKey: string; baseUrl: string; clientName: string; clientVersion: string; fetchOptions?: Partial; youtubeClientOptions?: Record; initialCookie?: string; oauth?: OAuthOptions; pot?: PotOptions; }; declare type Response = { data: T; }; declare type Options = { data: Record; params: Record; } & RequestInit; /** * @hidden */ export declare class HTTP { private apiKey; private baseUrl; private clientName; private clientVersion; private cookie; private defaultHeaders; private defaultFetchOptions; private defaultClientOptions; private authorizationPromise; private pot?; oauth: OAuthOptions & OAuthProps; constructor(options: HTTPOptions); get(path: string, options?: Partial): Promise; post(path: string, options?: Partial): Promise; private request; private parseCookie; private authorize; } export {};