import type { SyncResult } from '../../sync';
/**
 * Flags indicating which content types should have their metadata updated
 * after a push operation.
 */
export interface MetadataUpdateFlags {
    /** Whether entries metadata should be updated (zero failures + some synced) */
    willUpdateEntries: boolean;
    /** Whether pages metadata should be updated (zero failures + some synced) */
    willUpdatePages: boolean;
    /** Whether navigation metadata should be updated (zero failures + some synced) */
    willUpdateNavigation: boolean;
    /** Whether forms metadata should be updated (zero failures + some synced) */
    willUpdateForms: boolean;
    /** Whether any metadata should be updated (at least one content type qualifies) */
    shouldUpdateMetadata: boolean;
}
/**
 * Calculate which content types should have their metadata updated after a push.
 * Metadata is only updated for content types that:
 * 1. Had zero failures (all items synced successfully)
 * 2. Had at least one item created or updated (something actually changed)
 *
 * This prevents false "stale content" warnings on subsequent pushes after
 * partial failures.
 */
export declare function calculateMetadataUpdates(result: SyncResult): MetadataUpdateFlags;
