import { ChromeLauncher } from '../cdp/index.js';
import { Element } from './element.js';
import { Engine } from './engine.js';
import { Extension } from './extension.js';
import { FlowServiceMock } from './mocks/index.js';
import { Pipeline, Script } from './model/index.js';
import { BrowserService, PlaywrightService, ProxyService } from './services/index.js';
export declare class TestRig {
    engine: Engine;
    launcher: ChromeLauncher;
    chromePort: number;
    chromeAddress: string;
    chromePath: string | undefined;
    chromeArgs: string;
    browserContextId?: string;
    constructor();
    getChromeArgs(): string[];
    getChromeAdditionalArgs(): string[];
    setupEngine(): void;
    beforeAll(): Promise<void>;
    afterAll(): Promise<void>;
    beforeEach(): Promise<void>;
    afterEach(): Promise<void>;
    get browser(): BrowserService;
    get page(): import("../cdp/page.js").Page;
    get flow(): FlowServiceMock;
    get proxy(): ProxyService;
    get playwright(): PlaywrightService;
    openNewTab(): Promise<void>;
    closeTab(): Promise<void>;
    createScript(spec: any): Script;
    createScriptWithActions(actions: any[]): Script;
    createPipeline(pipes: any[]): Pipeline;
    runPipes(pipes: any[]): Promise<Element[]>;
    runPipeline(pipeline: Pipeline): Promise<Element[]>;
    runActions(actions: any[]): Promise<void>;
    assertError(code: string, asyncFn: () => any): Promise<Error>;
}
export declare class ExtensionTestRig extends TestRig {
    extensionDir: string;
    extension: Extension;
    constructor(extensionDir: string);
    setupExtension(): void;
    get container(): import("inversify/lib/container/container.js").Container;
    beforeAll(): Promise<void>;
    beforeEach(): Promise<void>;
}
//# sourceMappingURL=rig.d.ts.map