/** * DSL Builders - Fluent API for defining tests */ import type { TestPriority, UnifiedStep, UnifiedTestDefinition } from '../types'; import type { TestBuilder, StepBuilder, HttpStepBuilder, ShellStepBuilder } from './types'; declare class TestBuilderImpl implements TestBuilder { private _name; private _description?; private _tags?; private _priority?; private _setup?; private _execute?; private _verify?; private _teardown?; constructor(name: string); description(desc: string): TestBuilder; tags(...tags: string[]): TestBuilder; priority(p: TestPriority): TestBuilder; setup(steps: StepBuilder[]): TestBuilder; execute(steps: StepBuilder[]): TestBuilder; verify(steps: StepBuilder[]): TestBuilder; teardown(steps: StepBuilder[]): TestBuilder; build(): UnifiedTestDefinition; } declare class HttpStepBuilderImpl implements HttpStepBuilder { private _method; private _url; private _headers?; private _body?; private _assert?; private _capture?; constructor(method: string, url: string); header(name: string, value: string): HttpStepBuilder; body(data: unknown): HttpStepBuilder; expectStatus(code: number): HttpStepBuilder; capture(name: string, jsonPath: string): HttpStepBuilder; build(): UnifiedStep; } declare class ShellStepBuilderImpl implements ShellStepBuilder { private _command; private _timeout?; private _capture?; constructor(command: string); timeout(ms: number): ShellStepBuilder; capture(name: string, jsonPath: string): ShellStepBuilder; build(): UnifiedStep; } export declare const test: (name: string) => TestBuilderImpl; export declare const http: { get: (url: string) => HttpStepBuilderImpl; post: (url: string) => HttpStepBuilderImpl; put: (url: string) => HttpStepBuilderImpl; patch: (url: string) => HttpStepBuilderImpl; delete: (url: string) => HttpStepBuilderImpl; }; export declare const shell: { run: (command: string) => ShellStepBuilderImpl; }; export declare const step: { http: { get: (url: string) => HttpStepBuilderImpl; post: (url: string) => HttpStepBuilderImpl; put: (url: string) => HttpStepBuilderImpl; patch: (url: string) => HttpStepBuilderImpl; delete: (url: string) => HttpStepBuilderImpl; }; shell: { run: (command: string) => ShellStepBuilderImpl; }; }; export {}; //# sourceMappingURL=builder.d.ts.map