import { type PullRequestReviewCommentInput, type PullRequestReviewDecision, fetchPullRequestDiff, submitPullRequestReview } from "../../github-review/dist/index.js";
import type { CodeReviewState } from "./review-state.js";
import { CodeReviewYamlStore } from "./review-store.js";
export interface CodeReviewPublicationPayload {
    body: string;
    event: PullRequestReviewDecision;
    comments: Array<PullRequestReviewCommentInput & {
        side: "RIGHT";
    }>;
}
export interface CommitCodeReviewDraftsInput {
    prUrl: string;
    cwd?: string;
    draftStore?: string;
    dryRun?: boolean;
    actor?: string;
}
export interface CodeReviewCommitResult {
    payload: CodeReviewPublicationPayload;
    published: NonNullable<CodeReviewState["published"]>;
    archivePath: string;
}
export interface CommitCodeReviewDraftsDependencies {
    store?: CodeReviewYamlStore;
    fetchDiff?: typeof fetchPullRequestDiff;
    submitReview?: typeof submitPullRequestReview;
}
export declare function commitCodeReviewDrafts(input: CommitCodeReviewDraftsInput & {
    dryRun: true;
}, dependencies?: CommitCodeReviewDraftsDependencies): Promise<CodeReviewPublicationPayload>;
export declare function commitCodeReviewDrafts(input: CommitCodeReviewDraftsInput, dependencies?: CommitCodeReviewDraftsDependencies): Promise<CodeReviewCommitResult | CodeReviewPublicationPayload>;
