type WakeupTriggerDetail = "manual" | "ping" | "callback" | "system";
type WakeupSource = "timer" | "assignment" | "review" | "on_demand" | "automation";
export interface IssueReviewWakeupDeps {
    wakeup: (agentId: string, opts: {
        source?: WakeupSource;
        triggerDetail?: WakeupTriggerDetail;
        reason?: string | null;
        payload?: Record<string, unknown> | null;
        requestedByActorType?: "user" | "agent" | "system";
        requestedByActorId?: string | null;
        contextSnapshot?: Record<string, unknown>;
    }) => Promise<unknown>;
}
export type IssueReviewWakeupMutation = "status_to_in_review" | "status_to_blocked" | "reviewer_changed_in_review" | "reviewer_changed_blocked" | "create_in_review";
export type IssueConvergenceReviewWakeupMutation = "convergence_escalation";
export type IssueReviewCloseoutWakeupMutation = "review_outcome_missing";
type IssueReviewWakeupIssue = {
    id: string;
    identifier?: string | null;
    title: string;
    description?: string | null;
    status: string;
    priority?: string | null;
};
export declare function buildIssueReviewWakeupOptions(input: {
    issue: IssueReviewWakeupIssue;
    mutation: IssueReviewWakeupMutation;
    contextSource: string;
    requestedByActorType?: "user" | "agent" | "system";
    requestedByActorId?: string | null;
}): {
    source: "review";
    triggerDetail: "system";
    reason: string;
    payload: {
        issueId: string;
        mutation: IssueReviewWakeupMutation;
    };
    requestedByActorType: "agent" | "system" | "user" | undefined;
    requestedByActorId: string | null;
    contextSnapshot: {
        issueId: string;
        source: string;
        wakeSource: string;
        wakeReason: string;
        role: string;
        issue: {
            id: string;
            identifier: string | null;
            title: string;
            description: string | null | undefined;
            status: string;
            priority: string | null | undefined;
        };
        reviewInstructions: string;
    };
};
export declare function buildIssueConvergenceReviewWakeupOptions(input: {
    issue: IssueReviewWakeupIssue;
    mutation?: IssueConvergenceReviewWakeupMutation;
    contextSource: string;
    originRunId: string;
    previousRunId: string;
    attempts: number;
    maxAttempts: number;
    requestedByActorType?: "user" | "agent" | "system";
    requestedByActorId?: string | null;
}): {
    source: "review";
    triggerDetail: "system";
    reason: string;
    payload: {
        issueId: string;
        mutation: "convergence_escalation";
        originRunId: string;
        previousRunId: string;
        attempts: number;
        maxAttempts: number;
    };
    requestedByActorType: "agent" | "system" | "user" | undefined;
    requestedByActorId: string | null;
    contextSnapshot: {
        issueId: string;
        source: string;
        wakeSource: string;
        wakeReason: string;
        role: string;
        issue: {
            id: string;
            identifier: string | null;
            title: string;
            description: string | null | undefined;
            status: string;
            priority: string | null | undefined;
        };
        convergenceReview: {
            originRunId: string;
            previousRunId: string;
            attempts: number;
            maxAttempts: number;
        };
        reviewInstructions: string;
    };
};
export declare function buildIssueReviewCloseoutWakeupOptions(input: {
    issue: IssueReviewWakeupIssue;
    mutation?: IssueReviewCloseoutWakeupMutation;
    contextSource: string;
    originRunId: string;
    previousRunId: string;
    attempts: number;
    maxAttempts: number;
    requestedByActorType?: "user" | "agent" | "system";
    requestedByActorId?: string | null;
}): {
    source: "review";
    triggerDetail: "system";
    reason: string;
    payload: {
        issueId: string;
        mutation: "review_outcome_missing";
        originRunId: string;
        previousRunId: string;
        attempts: number;
        maxAttempts: number;
    };
    requestedByActorType: "agent" | "system" | "user" | undefined;
    requestedByActorId: string | null;
    contextSnapshot: {
        issueId: string;
        source: string;
        wakeSource: string;
        wakeReason: string;
        role: string;
        issue: {
            id: string;
            identifier: string | null;
            title: string;
            description: string | null | undefined;
            status: string;
            priority: string | null | undefined;
        };
        reviewCloseout: {
            originRunId: string;
            previousRunId: string;
            attempt: number;
            maxAttempts: number;
        };
        reviewInstructions: string;
    };
};
export declare function queueIssueReviewWakeup(input: {
    heartbeat: IssueReviewWakeupDeps;
    issue: {
        id: string;
        identifier?: string | null;
        reviewerAgentId: string | null;
        status: string;
        title: string;
        description?: string | null;
        priority?: string | null;
    };
    mutation: IssueReviewWakeupMutation;
    contextSource: string;
    requestedByActorType?: "user" | "agent" | "system";
    requestedByActorId?: string | null;
    actorAgentId?: string | null;
    rethrowOnError?: boolean;
}): Promise<unknown> | undefined;
export {};
//# sourceMappingURL=issue-review-wakeup.d.ts.map