import type { TestExpressionContext } from '../test-utilities';
export interface TestContextOptions {
    element?: Element;
    me?: Element;
    you?: Element;
    it?: unknown;
    result?: unknown;
    target?: EventTarget;
    event?: Event;
    globals?: Record<string, unknown>;
    locals?: Map<string, unknown>;
    meta?: Map<string, unknown> | Record<string, unknown>;
    [key: string]: unknown;
}
export declare class TestContextBuilder {
    private options;
    withElement(element: Element): this;
    withMe(me: Element): this;
    withYou(you: Element): this;
    withIt(it: unknown): this;
    withResult(result: unknown): this;
    withTarget(target: EventTarget): this;
    withEvent(event: Event): this;
    withGlobal<T>(key: string, value: T): this;
    withGlobals(globals: Record<string, unknown>): this;
    withLocal<T>(key: string, value: T): this;
    withLocals(locals: Record<string, unknown>): this;
    withMeta(key: string, value: unknown): this;
    withProperty<T>(key: string, value: T): this;
    build(): TestExpressionContext;
}
export declare function createTestContext(options?: TestContextOptions): TestExpressionContext;
export declare function createMinimalContext(element?: Element): TestExpressionContext;
export declare function createMockElement(tagName?: string, attributes?: Record<string, string>): Element;
export declare function createMockEvent(type: string, options?: {
    target?: EventTarget;
    currentTarget?: EventTarget;
    bubbles?: boolean;
    cancelable?: boolean;
    [key: string]: unknown;
}): Event;
//# sourceMappingURL=context-builders.d.ts.map