/**
 * Copyright (c) Microsoft Corporation.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { DisposableStub } from './disposable';
import type * as api from '../../types/types';
import type { Page } from './page';
export declare class Screencast implements api.Screencast {
    private _page;
    private _started;
    private _savePath;
    private _onFrame;
    private _artifact;
    constructor(page: Page);
    start(options?: {
        onFrame?: (frame: {
            data: Buffer;
        }) => Promise<any> | any;
        path?: string;
        size?: {
            width: number;
            height: number;
        };
        quality?: number;
    }): Promise<DisposableStub>;
    stop(): Promise<void>;
    showActions(options?: {
        duration?: number;
        position?: 'top-left' | 'top' | 'top-right' | 'bottom-left' | 'bottom' | 'bottom-right';
        fontSize?: number;
    }): Promise<DisposableStub>;
    hideActions(): Promise<void>;
    showOverlay(html: string, options?: {
        duration?: number;
    }): Promise<DisposableStub>;
    showChapter(title: string, options?: {
        description?: string;
        duration?: number;
    }): Promise<void>;
    showOverlays(): Promise<void>;
    hideOverlays(): Promise<void>;
}
//# sourceMappingURL=screencast.d.ts.map