/**
 * TL Auto-Verify Service
 *
 * Automatically triggers Team Leader verification when a worker's task completes.
 * Listens to EventBus for task:done/task:completed events, looks up the worker's
 * TL via team hierarchy, and sends the TL a message to run verify-output with
 * the pre-approved checklist.
 *
 * Only activates for hierarchical teams with a defined TL.
 *
 * @module services/v3/tl-auto-verify.service
 */
interface TeamMemberInfo {
    id: string;
    sessionName: string;
    role: string;
    parentMemberId?: string;
    hierarchyLevel?: number;
}
interface TeamInfo {
    id: string;
    name: string;
    hierarchical?: boolean;
    members: TeamMemberInfo[];
}
export declare class TLAutoVerifyService {
    private static instance;
    private readonly logger;
    private eventBusService;
    private teamsProvider;
    private constructor();
    static getInstance(): TLAutoVerifyService;
    static resetInstance(): void;
    /**
     * Initialize with EventBus and team data source.
     */
    initialize(eventBusService: {
        on: (event: string, handler: (...args: unknown[]) => void) => void;
    }, teamsProvider?: () => Promise<TeamInfo[]>): void;
    /**
     * Start listening for task completion events.
     */
    start(): void;
    /**
     * Handle a worker's task completion. Finds the worker's TL and sends
     * a verification request.
     *
     * @param workerSessionName - The worker agent that completed the task
     * @param teamId - The team ID (if available from event)
     * @param taskId - The task ID (if available)
     */
    private onWorkerTaskCompleted;
    /**
     * Find the Team Leader for a given worker by looking up team hierarchy.
     *
     * @param workerSessionName - Worker's agent session name
     * @param teamId - Optional team ID hint from the event
     * @returns TL info or null if no hierarchical TL exists
     */
    private findTeamLeaderForWorker;
}
export {};
//# sourceMappingURL=tl-auto-verify.service.d.ts.map