import type { RouteContext } from './router.js';
export type NotifyMode = 'off' | 'essential' | 'verbose';
export interface StartNoticeOpts {
    jobId: number;
    callee: string;
    inputCount: number;
    expectOutputs?: string[];
    callerAgent?: string;
}
export declare function notifyA2AStart(routeCtx: RouteContext, calleeDepth: number, opts: StartNoticeOpts): Promise<void>;
export interface CompleteNoticeOpts {
    jobId: number;
    callee: string;
    durationMs: number;
    outputs: Array<{
        name: string;
        bytes: number;
    }>;
}
export declare function notifyA2AComplete(routeCtx: RouteContext, calleeDepth: number, opts: CompleteNoticeOpts): Promise<void>;
export declare function notifyA2ATimeout(routeCtx: RouteContext, calleeDepth: number, opts: {
    jobId: number;
    callee: string;
    durationMs: number;
}): Promise<void>;
export declare function notifyA2AFailed(routeCtx: RouteContext, calleeDepth: number, opts: {
    jobId: number;
    callee: string;
    durationMs: number;
    error: string;
}): Promise<void>;
export declare function startHeartbeat(routeCtx: RouteContext, calleeDepth: number, jobId: number, callee: string): {
    stop: () => void;
};
//# sourceMappingURL=a2a-notify.d.ts.map