/**
 * Event Emission Plugin for Zapier SDK
 *
 * Provides silent telemetry event emission capability to the SDK.
 * All events are emitted asynchronously and failures are silently handled.
 */
import type { BaseSdkOptions } from "../../types/sdk";
import type { BaseEvent } from "../../types/telemetry-events";
import type { EventTransport, TransportConfig } from "./transport";
import type { MethodCalledEventData } from "./types";
/**
 * Removes all registered process event listeners.
 * Useful for test cleanup to prevent listener accumulation.
 */
export declare function cleanupEventListeners(): void;
export interface EventEmissionConfig {
    enabled?: boolean;
    transport?: TransportConfig;
    callContext?: "sdk" | "cli" | "mcp";
}
export interface EventEmissionContext {
    eventEmission: {
        transport: EventTransport;
        config: EventEmissionConfig;
        emit<T extends any>(subject: string, event: T): void;
        createBaseEvent(): Promise<BaseEvent>;
        emitMethodCalled(data: MethodCalledEventData): void;
        flush(): Promise<void>;
        close(exitCode?: number): Promise<void>;
    };
}
export declare const eventEmissionPlugin: (sdk: {
    context: {
        options?: BaseSdkOptions;
    };
} & {
    context: {
        meta: Record<string, import("../..").PluginMeta>;
    };
}) => {
    context: EventEmissionContext;
};
export type EventEmissionProvides = ReturnType<typeof eventEmissionPlugin>;
export type { EventContext, ApplicationLifecycleEventData, EnhancedErrorEventData, MethodCalledEventData, } from "./types";
export { buildApplicationLifecycleEvent, buildErrorEventWithContext, buildErrorEvent, createBaseEvent, buildMethodCalledEvent, } from "./builders";
export type { BaseEvent } from "../../types/telemetry-events";
export * from "./utils";
//# sourceMappingURL=index.d.ts.map