/**
 * 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 { ChannelOwner } from './channelOwner';
import { DisposableStub } from './disposable';
import type { Page } from './page';
import type * as api from '../../types/types';
import type * as channels from '@protocol/channels';
export declare class Tracing extends ChannelOwner<channels.TracingChannel> implements api.Tracing {
    private _includeSources;
    private _additionalSources;
    private _isLive;
    _tracesDir: string | undefined;
    private _stacksId;
    private _isTracing;
    private _harId;
    private _harRecorders;
    static from(channel: channels.TracingChannel): Tracing;
    constructor(parent: ChannelOwner, type: string, guid: string, initializer: channels.TracingInitializer);
    start(options?: {
        name?: string;
        title?: string;
        snapshots?: boolean;
        screenshots?: boolean;
        sources?: boolean;
        live?: boolean;
    }): Promise<void>;
    startChunk(options?: {
        name?: string;
        title?: string;
    }): Promise<void>;
    group(name: string, options?: {
        location?: {
            file: string;
            line?: number;
            column?: number;
        };
    }): Promise<DisposableStub>;
    groupEnd(): Promise<void>;
    private _startCollectingStacks;
    stopChunk(options?: {
        path?: string;
    }): Promise<void>;
    stop(options?: {
        path?: string;
    }): Promise<void>;
    startHar(path: string, options?: {
        content?: 'embed' | 'attach' | 'omit';
        mode?: 'full' | 'minimal';
        urlFilter?: string | RegExp;
        resourcesDir?: string;
    }): Promise<DisposableStub>;
    stopHar(): Promise<void>;
    _recordIntoHAR(har: string, page: Page | null, options?: {
        url?: string | RegExp;
        updateContent?: 'attach' | 'embed' | 'omit';
        updateMode?: 'minimal' | 'full';
        resourcesDir?: string;
    }): Promise<string>;
    _exportHAR(harId: string): Promise<void>;
    _exportAllHars(): Promise<void>;
    private _doStopChunk;
    _resetStackCounter(): void;
}
//# sourceMappingURL=tracing.d.ts.map