import { KintoRequest } from "../types";
interface ConflictRecord {
    last_modified: number;
    id: string;
}
interface ConflictResponse {
    existing: ConflictRecord;
}
interface ResponseBody {
    data?: unknown;
    details?: ConflictResponse;
    code?: number;
    errno?: number;
    error?: string;
    message?: string;
    info?: string;
}
interface ErrorResponse {
    path: string;
    sent: KintoRequest;
    error: ResponseBody;
}
export interface AggregateResponse {
    errors: ErrorResponse[];
    published: ResponseBody[];
    conflicts: any[];
    skipped: any[];
}
export interface KintoBatchResponse {
    status: number;
    path: string;
    body: ResponseBody;
    headers: {
        [key: string]: string;
    };
}
/**
 * Exports batch responses as a result object.
 *
 * @private
 * @param  {Array} responses The batch subrequest responses.
 * @param  {Array} requests  The initial issued requests.
 * @return {Object}
 */
export declare function aggregate(responses?: KintoBatchResponse[], requests?: KintoRequest[]): AggregateResponse;
export {};
