package builder

import "go.mongodb.org/mongo-driver/v2/bson"

// Patch defines operations for constructing partial update documents.
// Each builder method returns the same Patch instance to allow chaining.
type Patch interface {
	Set(field Field, value any) Patch
	Inc(field Field, value any) Patch
	Unset(field Field) Patch
	Rename(field Field, newName string) Patch
	Push(field Field, value any) Patch
	Pull(field Field, value any) Patch
	AddToSet(field Field, value any) Patch
	Build() bson.D
}
