import { Entry } from 'contensis-management-api'; import { EntryBuilder } from './EntryBuilder'; import { NulledEntry } from '../models'; /** * Builds an entry from a payload that only supplies some of its fields * (`partialEntries`): every unsupplied field is carried over from the * existing target entry instead of being wiped. An explicit `null` is a * supplied value and clears the field. Existing values are copied verbatim. */ export declare class PartialEntryBuilder extends EntryBuilder { /** * The field keys the payload entry actually carries, resolved once */ private readonly suppliedKeys; /** * Fields the payload supplies that the target content type still has a * place for. Anything else keeps its existing target value. */ private resolveSuppliedKeys; /** * The existing target entry to merge from, or nothing to merge when there is * no existing entry, or the base has built a first-pass stub of the source entry */ get mergeBasis(): Entry | undefined; /** * Fill every field the payload did not supply with its existing target value */ toJSON(opts?: { firstPass: boolean; }): Entry; /** * Only diff `sys.schedules` when the payload supplies schedules — otherwise * a target entry sitting on a publish schedule would make every partial * update look like a change. */ nullFields(e: Entry): NulledEntry; }