import { MastraError } from '../../../error/index.js';
import type { BatchInsertItemsInput, DatasetItemIdentityConflictDetail, DatasetItemPayload, DatasetItemRow } from '../../types.js';
export declare function datasetItemPayloadsEqual(submitted: DatasetItemPayload, accepted: DatasetItemRow): boolean;
export declare class DatasetItemIdentityConflictError extends MastraError {
    readonly conflicts: DatasetItemIdentityConflictDetail[];
    constructor(conflicts: DatasetItemIdentityConflictDetail[]);
}
export declare function createDatasetItemIdentityConflictError(conflicts: DatasetItemIdentityConflictDetail[]): DatasetItemIdentityConflictError;
export interface DatasetItemBatchPlan {
    inserts: Array<{
        id: string;
        item: BatchInsertItemsInput['items'][number];
    }>;
    resolvedIds: string[];
    existingCurrentItems: Map<string, DatasetItemRow>;
}
export declare function planDatasetItemBatch(items: BatchInsertItemsInput['items'], historyRows: DatasetItemRow[], createId: () => string): DatasetItemBatchPlan;
export declare function validateDatasetItemExternalId(externalId: string | undefined): void;
//# sourceMappingURL=identity.d.ts.map