UNPKG

newpipe-extractor-js

Version:
86 lines 2.76 kB
export declare enum PoTokenContext { GVS = "gvs", PLAYER = "player", SUBS = "subs" } export declare enum ContentBindingType { VISITOR_DATA = "visitor_data", DATASYNC_ID = "datasync_id", VIDEO_ID = "video_id", VISITOR_ID = "visitor_id" } export interface InnertubeContext { client: { clientName: string; clientVersion: string; clientScreen?: string; clientId?: string; visitorData?: string; platform?: string; osName?: string; osVersion?: string; deviceModel?: string; remoteHost?: string; }; user?: { lockedSafetyMode?: boolean; }; request?: { useSsl?: boolean; internalExperimentFlags?: string[]; }; } export interface PoTokenRequest { context: PoTokenContext; innertubeContext: InnertubeContext; innertubeHost?: string; sessionIndex?: string; playerUrl?: string; isAuthenticated: boolean; videoWebpage?: string; internalClientName?: string; visitorData?: string; dataSyncId?: string; videoId?: string; requestCookies: any[]; requestProxy?: string; requestHeaders: Record<string, string>; requestTimeout?: number; requestSourceAddress?: string; requestVerifyTls: boolean; bypassCache: boolean; } export interface PoTokenResponse { poToken: string; expiresAt?: number; } export interface PoTokenCacheSpec { keyBindings: Record<string, string | null>; defaultTtl: number; writePolicy: 'WRITE_ALL' | 'WRITE_FIRST'; } export declare class PoTokenError extends Error { constructor(message: string); } export declare class PoTokenProviderRejectedRequest extends PoTokenError { constructor(message: string); } export declare const WEBPO_CLIENTS: string[]; export declare function getWebPoContentBinding(request: PoTokenRequest, webpoClients?: string[], bindToVisitorId?: boolean): [string | null, ContentBindingType | null]; export declare function generateWebPoCacheSpec(request: PoTokenRequest, bindToVisitorId?: boolean): PoTokenCacheSpec | null; export declare abstract class PoTokenProvider { abstract providerName: string; abstract providerVersion: string; protected supportedContexts: PoTokenContext[]; abstract requestPoToken(request: PoTokenRequest): Promise<PoTokenResponse>; supportsContext(context: PoTokenContext): boolean; validateRequest(request: PoTokenRequest): void; } export declare class PoTokenCache { private cache; generateCacheKey(spec: PoTokenCacheSpec): string; get(request: PoTokenRequest): PoTokenResponse | null; store(request: PoTokenRequest, response: PoTokenResponse): void; clear(): void; } //# sourceMappingURL=PoTokenProvider.d.ts.map