import { Configuration } from "../../configuration";
import { EventFired } from "../../HandleEvent";
import { AutomationContextAware, HandlerContext } from "../../HandlerContext";
import { HandlerResult } from "../../HandlerResult";
import { CommandInvocation } from "../../internal/invoker/Payload";
import { CommandIncoming, EventIncoming, RequestProcessor } from "../../internal/transport/RequestProcessor";
import { AutomationEventListenerSupport } from "../../server/AutomationEventListener";
import { Destination, MessageOptions } from "../message/MessageClient";
import { StatsDClient } from "./statsdClient";
export declare class StatsdAutomationEventListener extends AutomationEventListenerSupport {
    private readonly configuration;
    statsd: StatsDClient;
    private timer;
    private readonly registrationName;
    private heavy;
    constructor(configuration: Configuration);
    registrationSuccessful(handler: RequestProcessor): void;
    contextCreated(ctx: HandlerContext): void;
    commandIncoming(payload: CommandIncoming): void;
    commandSuccessful(payload: CommandInvocation, ctx: HandlerContext, result: HandlerResult): Promise<any>;
    commandFailed(payload: CommandInvocation, ctx: HandlerContext, err: any): Promise<any>;
    eventIncoming(payload: EventIncoming): void;
    eventSuccessful(payload: EventFired<any>, ctx: HandlerContext, result: HandlerResult[]): Promise<any>;
    eventFailed(payload: EventFired<any>, ctx: HandlerContext, err: any): Promise<any>;
    messageSent(message: any, dests: Destination | Destination[], options: MessageOptions, ctx: HandlerContext & AutomationContextAware): Promise<void>;
    /** Do-nothing callback */
    private callback;
    private increment;
    private event;
    private timing;
    private initStatsd;
    close(): void;
    private submitHeapStats;
    private submitEventLoopDelay;
    private initGc;
}
//# sourceMappingURL=statsd.d.ts.map