import { ConsoleMessage, Page, PuppeteerLaunchOptions, Viewport, WaitForOptions } from 'puppeteer';
import { JSONSchemaType } from 'ajv';
import { Schema } from 'schema-utils/declarations/validate';
export interface PuppeteerRendererOptions {
    maxConcurrentRoutes?: number;
    renderAfterDocumentEvent?: string;
    renderAfterElementExists?: string;
    renderAfterTime?: number;
    timeout?: number;
    inject?: unknown;
    injectProperty?: string;
    skipThirdPartyRequests?: boolean;
    headless?: boolean;
    args?: string[];
    pageSetup?: (page: Page, route: string) => void | Promise<void>;
    pageHandler?: (page: Page, route: string) => void | Promise<void>;
    consoleHandler?: (route: string, message: ConsoleMessage) => void;
    viewport?: Viewport;
    launchOptions?: PuppeteerLaunchOptions;
    navigationOptions?: WaitForOptions;
    elementVisible?: boolean;
    elementHidden?: boolean;
}
export declare const defaultOptions: {
    injectProperty: string;
    maxConcurrentRoutes: number;
    timeout: number;
};
export type PuppeteerRendererFinalOptions = PuppeteerRendererOptions & typeof defaultOptions;
export declare const schema: JSONSchemaType<Omit<PuppeteerRendererOptions, 'inject' | 'pageHandler' | 'pageSetup' | 'consoleHandler'>> & Schema;
