import { type ExecutionResult } from "./serviceHelper";
import { SuggestedEdit } from "../../types";
/**
 * Creates or updates a suggested edit.
 */
export type SuggestedEditConflictResult = {
    type: "conflict";
    response: Response;
    summary?: string;
    suggestion?: SuggestedEdit;
    fieldValue?: string;
};
export type SuggestedEditSaveResult = ExecutionResult<SuggestedEdit> | SuggestedEditConflictResult;
export declare function createOrUpdateSuggestedEdit(suggestedEdit: SuggestedEdit, options?: {
    expectedUpdated?: string;
    expectedFieldHash?: string;
}): Promise<SuggestedEditSaveResult>;
/**
 * Retrieves all suggested edits for a given main item based on its ID, language, and version.
 */
export declare function getSuggestedEdits(mainItemId: string, mainItemLanguage: string, mainItemVersion: number, reviewId?: string): Promise<ExecutionResult<SuggestedEdit[]>>;
export declare function getLatestSuggestedEdits(take?: number, language?: string): Promise<ExecutionResult<SuggestedEdit[]>>;
/**
 * Retrieves a single suggested edit by its unique identifier.
 */
export declare function getSuggestedEditById(id: string): Promise<ExecutionResult<SuggestedEdit>>;
/**
 * Deletes the given suggested edit.
 */
export declare function deleteSuggestedEdit(suggestedEdit: SuggestedEdit): Promise<ExecutionResult<unknown>>;
