import type { ItemWithOptionalIdAndMeta, NewBlockInRequest } from '../fieldTypes/index.js';
import type { ItemTypeDefinition } from './itemDefinition.js';
import type { SchemaRepository } from './schemaRepository.js';
type NoInfer<T> = [T][T extends any ? 0 : never];
export declare function duplicateBlockRecord<D extends ItemTypeDefinition = ItemTypeDefinition>(existingBlock: ItemWithOptionalIdAndMeta<NoInfer<D>>, schemaRepository: SchemaRepository): Promise<NoInfer<D> extends infer ND ? ND extends unknown ? NewBlockInRequest<ND & ItemTypeDefinition> : never : never>;
export {};
