import { type SuiteCollector, type Task, type Test } from "@vitest/runner";
import { type RuntimeMessage } from "allure-js-commons/sdk";
import { BaseMessageTestRuntime } from "allure-js-commons/sdk/runtime";
import type { TaskMeta } from "vitest";
export declare const setGetCurrentTest: (fn: () => Test | undefined) => void;
export declare const ALLURE_VITEST_GLOBAL_RUNTIME_MESSAGES_KEY = "__allureVitestGlobalRuntimeMessages";
export declare const ALLURE_VITEST_GLOBAL_RUNTIME_MESSAGES_META_KEY = "allureGlobalRuntimeMessages";
export declare const ALLURE_VITEST_RUNTIME_MESSAGES_META_KEY = "allureRuntimeMessages";
export type RuntimeMessageMetaKey = typeof ALLURE_VITEST_GLOBAL_RUNTIME_MESSAGES_META_KEY | typeof ALLURE_VITEST_RUNTIME_MESSAGES_META_KEY;
export type RuntimeMessageTaskMeta = TaskMeta & {
    [ALLURE_VITEST_GLOBAL_RUNTIME_MESSAGES_META_KEY]?: RuntimeMessage[];
    [ALLURE_VITEST_RUNTIME_MESSAGES_META_KEY]?: RuntimeMessage[];
};
export declare const getCurrentTask: () => Task | undefined;
export declare const addGlobalMessage: (message: RuntimeMessage) => void;
export declare const addMessageToMeta: (meta: TaskMeta, key: RuntimeMessageMetaKey, message: RuntimeMessage) => void;
export declare const takeGlobalRuntimeMessages: () => RuntimeMessage[];
export declare const processTask: (task: Task | SuiteCollector, message: RuntimeMessage, isGlobal?: boolean) => void;
export declare const attachGlobalMessageToFirstTest: (task: Task | SuiteCollector, message: RuntimeMessage) => boolean;
export declare const addMessage: (meta: TaskMeta, message: RuntimeMessage) => void;
export declare class BaseVitestTestRuntime extends BaseMessageTestRuntime {
    sendMessageSync(message: RuntimeMessage): void;
    sendMessage(message: RuntimeMessage): Promise<void>;
    protected processMessage(message: RuntimeMessage): boolean;
}
