@remotion/renderer
Version:
Render Remotion videos using Node.js or Bun
97 lines (96 loc) • 3.8 kB
TypeScript
import { BrowserLog } from '../browser-log';
import type { LogLevel } from '../log-level';
import type { HeadlessBrowser } from './Browser';
import type { CDPSession } from './Connection';
import { ConsoleMessage } from './ConsoleMessage';
import type { EvaluateFn, EvaluateFnReturnType, EvaluateHandleFn, SerializableOrJSHandle, UnwrapPromiseLike } from './EvalTypes';
import { EventEmitter } from './EventEmitter';
import type { Frame } from './FrameManager';
import type { HTTPResponse } from './HTTPResponse';
import type { JSHandle } from './JSHandle';
import type { Viewport } from './PuppeteerViewport';
import type { Target } from './Target';
import { TaskQueue } from './TaskQueue';
import type { SourceMapGetter } from './source-map-getter';
interface WaitForOptions {
timeout?: number;
}
export declare const enum PageEmittedEvents {
Error = "error",
Disposed = "disposed"
}
interface PageEventObject {
console: ConsoleMessage;
error: Error;
disposed: undefined;
}
export declare class Page extends EventEmitter {
#private;
id: string;
static _create({ client, target, defaultViewport, browser, sourceMapGetter, logLevel, indent, pageIndex, onBrowserLog, }: {
client: CDPSession;
target: Target;
defaultViewport: Viewport;
browser: HeadlessBrowser;
sourceMapGetter: SourceMapGetter;
logLevel: LogLevel;
indent: boolean;
pageIndex: number;
onBrowserLog: null | ((log: BrowserLog) => void);
}): Promise<Page>;
closed: boolean;
browser: HeadlessBrowser;
screenshotTaskQueue: TaskQueue;
sourceMapGetter: SourceMapGetter;
logLevel: LogLevel;
indent: boolean;
pageIndex: number;
onBrowserLog: null | ((log: BrowserLog) => void);
constructor({ client, target, browser, sourceMapGetter, logLevel, indent, pageIndex, onBrowserLog, }: {
client: CDPSession;
target: Target;
browser: HeadlessBrowser;
sourceMapGetter: SourceMapGetter;
logLevel: LogLevel;
indent: boolean;
pageIndex: number;
onBrowserLog: null | ((log: BrowserLog) => void);
});
/**
* Listen to page events.
*/
on<K extends keyof PageEventObject>(eventName: K, handler: (event: PageEventObject[K]) => void): EventEmitter;
once<K extends keyof PageEventObject>(eventName: K, handler: (event: PageEventObject[K]) => void): EventEmitter;
off<K extends keyof PageEventObject>(eventName: K, handler: (event: PageEventObject[K]) => void): EventEmitter;
/**
* @returns A target this page was created from.
*/
target(): Target;
_client(): CDPSession;
/**
* @returns The page's main frame.
* @remarks
* Page is guaranteed to have a main frame which persists during navigations.
*/
mainFrame(): Frame;
setViewport(viewport: Viewport): Promise<void>;
setDefaultNavigationTimeout(timeout: number): void;
setDefaultTimeout(timeout: number): void;
evaluateHandle<HandlerType extends JSHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandlerType>;
url(): string;
goto({ url, timeout, options, }: {
url: string;
timeout: number;
options?: WaitForOptions & {
referer?: string;
};
}): Promise<HTTPResponse | null>;
bringToFront(): Promise<void>;
evaluate<T extends EvaluateFn>(pageFunction: T, ...args: SerializableOrJSHandle[]): Promise<UnwrapPromiseLike<EvaluateFnReturnType<T>>>;
evaluateOnNewDocument(pageFunction: Function | string, ...args: unknown[]): Promise<void>;
close(options?: {
runBeforeUnload?: boolean;
}): Promise<void>;
setBrowserSourceMapGetter(context: SourceMapGetter): void;
}
export {};