import { KiwiClient } from '../client';
import { TestRun, TestRunFilter, TestRunWithPermalinks, FilterOutputOptions, TestCase, TestExecution, Tag } from '../types';
/**
 * Test Run API module
 */
export declare class TestRunAPI {
    private client;
    constructor(client: KiwiClient);
    /**
     * Create a new test run
     */
    create(testRunData: Partial<TestRun>): Promise<TestRun>;
    /**
     * Filter test runs
     */
    filter(query?: TestRunFilter): Promise<TestRun[]>;
    /**
     * Filter test runs with output options
     */
    filter(query: TestRunFilter | undefined, options: FilterOutputOptions): Promise<TestRun[] | TestRunWithPermalinks[]>;
    /**
     * Get the URL API instance for permalink injection
     * @private
     */
    private getUrlApi;
    /**
     * Update a test run
     */
    update(testRunId: number, updateData: Partial<TestRun>): Promise<TestRun>;
    /**
     * Add a test case to test run
     */
    addCase(testRunId: number, testCaseId: number): Promise<TestExecution>;
    /**
     * Remove a test case from test run
     */
    removeCase(testRunId: number, testCaseId: number): Promise<void>;
    /**
     * Get test cases in test run
     */
    getCases(testRunId: number): Promise<TestCase[]>;
    /**
     * Add a tag to test run
     */
    addTag(testRunId: number, tag: string): Promise<Tag>;
    /**
     * Remove a tag from test run
     */
    removeTag(testRunId: number, tag: string): Promise<void>;
}
