func (a *ResolveNodeArgs) SetObjectGroup(objectGroup string) *ResolveNodeArgs {
	a.ObjectGroup = &objectGroup
	return a
}
SetObjectGroup sets the ObjectGroup optional argument. Symbolic
group name that can be used to release multiple objects.
package dom
import (
	"github.com/mafredri/cdp/protocol/internal"
	"github.com/mafredri/cdp/protocol/runtime"
)
type CollectClassNamesFromSubtreeArgs struct {
	NodeID NodeID `json:"nodeId"`  
}
func NewCollectClassNamesFromSubtreeArgs(nodeID NodeID) *CollectClassNamesFromSubtreeArgs {
	args := new(CollectClassNamesFromSubtreeArgs)
	args.NodeID = nodeID
	return args
}
type CollectClassNamesFromSubtreeReply struct {
	ClassNames []string `json:"classNames"`  
}
type CopyToArgs struct {
	NodeID             NodeID  `json:"nodeId"`                        
	TargetNodeID       NodeID  `json:"targetNodeId"`                  
	InsertBeforeNodeID *NodeID `json:"insertBeforeNodeId,omitempty"`  
}
func NewCopyToArgs(nodeID NodeID, targetNodeID NodeID) *CopyToArgs {
	args := new(CopyToArgs)
	args.NodeID = nodeID
	args.TargetNodeID = targetNodeID
	return args
}
func (a *CopyToArgs) SetInsertBeforeNodeID(insertBeforeNodeID NodeID) *CopyToArgs {
	a.InsertBeforeNodeID = &insertBeforeNodeID
	return a
}
type CopyToReply struct {
	NodeID NodeID `json:"nodeId"`  
}
type DescribeNodeArgs struct {
	NodeID        *NodeID                 `json:"nodeId,omitempty"`         
	BackendNodeID *BackendNodeID          `json:"backendNodeId,omitempty"`  
	ObjectID      *runtime.RemoteObjectID `json:"objectId,omitempty"`       
	Depth         *int                    `json:"depth,omitempty"`          
	Pierce        *bool                   `json:"pierce,omitempty"`         
}
func NewDescribeNodeArgs() *DescribeNodeArgs {
	args := new(DescribeNodeArgs)
	return args
}
func (a *DescribeNodeArgs) SetNodeID(nodeID NodeID) *DescribeNodeArgs {
	a.NodeID = &nodeID
	return a
}
func (a *DescribeNodeArgs) SetBackendNodeID(backendNodeID BackendNodeID) *DescribeNodeArgs {
	a.BackendNodeID = &backendNodeID
	return a
}
func (a *DescribeNodeArgs) SetObjectID(objectID runtime.RemoteObjectID) *DescribeNodeArgs {
	a.ObjectID = &objectID
	return a
}
func (a *DescribeNodeArgs) SetDepth(depth int) *DescribeNodeArgs {
	a.Depth = &depth
	return a
}
func (a *DescribeNodeArgs) SetPierce(pierce bool) *DescribeNodeArgs {
	a.Pierce = &pierce
	return a
}
type DescribeNodeReply struct {
	Node Node `json:"node"`  
}
type DiscardSearchResultsArgs struct {
	SearchID string `json:"searchId"`  
}
func NewDiscardSearchResultsArgs(searchID string) *DiscardSearchResultsArgs {
	args := new(DiscardSearchResultsArgs)
	args.SearchID = searchID
	return args
}
type FocusArgs struct {
	NodeID        *NodeID                 `json:"nodeId,omitempty"`         
	BackendNodeID *BackendNodeID          `json:"backendNodeId,omitempty"`  
	ObjectID      *runtime.RemoteObjectID `json:"objectId,omitempty"`       
}
func NewFocusArgs() *FocusArgs {
	args := new(FocusArgs)
	return args
}
func (a *FocusArgs) SetNodeID(nodeID NodeID) *FocusArgs {
	a.NodeID = &nodeID
	return a
}
func (a *FocusArgs) SetBackendNodeID(backendNodeID BackendNodeID) *FocusArgs {
	a.BackendNodeID = &backendNodeID
	return a
}
func (a *FocusArgs) SetObjectID(objectID runtime.RemoteObjectID) *FocusArgs {
	a.ObjectID = &objectID
	return a
}
type GetAttributesArgs struct {
	NodeID NodeID `json:"nodeId"`  
}
func NewGetAttributesArgs(nodeID NodeID) *GetAttributesArgs {
	args := new(GetAttributesArgs)
	args.NodeID = nodeID
	return args
}
type GetAttributesReply struct {
	Attributes []string `json:"attributes"`  
}
type GetBoxModelArgs struct {
	NodeID        *NodeID                 `json:"nodeId,omitempty"`         
	BackendNodeID *BackendNodeID          `json:"backendNodeId,omitempty"`  
	ObjectID      *runtime.RemoteObjectID `json:"objectId,omitempty"`       
}
func NewGetBoxModelArgs() *GetBoxModelArgs {
	args := new(GetBoxModelArgs)
	return args
}
func (a *GetBoxModelArgs) SetNodeID(nodeID NodeID) *GetBoxModelArgs {
	a.NodeID = &nodeID
	return a
}
func (a *GetBoxModelArgs) SetBackendNodeID(backendNodeID BackendNodeID) *GetBoxModelArgs {
	a.BackendNodeID = &backendNodeID
	return a
}
func (a *GetBoxModelArgs) SetObjectID(objectID runtime.RemoteObjectID) *GetBoxModelArgs {
	a.ObjectID = &objectID
	return a
}
type GetBoxModelReply struct {
	Model BoxModel `json:"model"`  
}
type GetContentQuadsArgs struct {
	NodeID        *NodeID                 `json:"nodeId,omitempty"`         
	BackendNodeID *BackendNodeID          `json:"backendNodeId,omitempty"`  
	ObjectID      *runtime.RemoteObjectID `json:"objectId,omitempty"`       
}
func NewGetContentQuadsArgs() *GetContentQuadsArgs {
	args := new(GetContentQuadsArgs)
	return args
}
func (a *GetContentQuadsArgs) SetNodeID(nodeID NodeID) *GetContentQuadsArgs {
	a.NodeID = &nodeID
	return a
}
func (a *GetContentQuadsArgs) SetBackendNodeID(backendNodeID BackendNodeID) *GetContentQuadsArgs {
	a.BackendNodeID = &backendNodeID
	return a
}
func (a *GetContentQuadsArgs) SetObjectID(objectID runtime.RemoteObjectID) *GetContentQuadsArgs {
	a.ObjectID = &objectID
	return a
}
type GetContentQuadsReply struct {
	Quads []Quad `json:"quads"`  
}
type GetDocumentArgs struct {
	Depth  *int  `json:"depth,omitempty"`   
	Pierce *bool `json:"pierce,omitempty"`  
}
func NewGetDocumentArgs() *GetDocumentArgs {
	args := new(GetDocumentArgs)
	return args
}
func (a *GetDocumentArgs) SetDepth(depth int) *GetDocumentArgs {
	a.Depth = &depth
	return a
}
func (a *GetDocumentArgs) SetPierce(pierce bool) *GetDocumentArgs {
	a.Pierce = &pierce
	return a
}
type GetDocumentReply struct {
	Root Node `json:"root"`  
}
type GetFlattenedDocumentArgs struct {
	Depth  *int  `json:"depth,omitempty"`   
	Pierce *bool `json:"pierce,omitempty"`  
}
func NewGetFlattenedDocumentArgs() *GetFlattenedDocumentArgs {
	args := new(GetFlattenedDocumentArgs)
	return args
}
func (a *GetFlattenedDocumentArgs) SetDepth(depth int) *GetFlattenedDocumentArgs {
	a.Depth = &depth
	return a
}
func (a *GetFlattenedDocumentArgs) SetPierce(pierce bool) *GetFlattenedDocumentArgs {
	a.Pierce = &pierce
	return a
}
type GetFlattenedDocumentReply struct {
	Nodes []Node `json:"nodes"`  
}
type GetNodeForLocationArgs struct {
	X                         int   `json:"x"`                                    
	Y                         int   `json:"y"`                                    
	IncludeUserAgentShadowDOM *bool `json:"includeUserAgentShadowDOM,omitempty"`  
}
func NewGetNodeForLocationArgs(x int, y int) *GetNodeForLocationArgs {
	args := new(GetNodeForLocationArgs)
	args.X = x
	args.Y = y
	return args
}
func (a *GetNodeForLocationArgs) SetIncludeUserAgentShadowDOM(includeUserAgentShadowDOM bool) *GetNodeForLocationArgs {
	a.IncludeUserAgentShadowDOM = &includeUserAgentShadowDOM
	return a
}
type GetNodeForLocationReply struct {
	BackendNodeID BackendNodeID `json:"backendNodeId"`     
	NodeID        *NodeID       `json:"nodeId,omitempty"`  
}
type GetOuterHTMLArgs struct {
	NodeID        *NodeID                 `json:"nodeId,omitempty"`         
	BackendNodeID *BackendNodeID          `json:"backendNodeId,omitempty"`  
	ObjectID      *runtime.RemoteObjectID `json:"objectId,omitempty"`       
}
func NewGetOuterHTMLArgs() *GetOuterHTMLArgs {
	args := new(GetOuterHTMLArgs)
	return args
}
func (a *GetOuterHTMLArgs) SetNodeID(nodeID NodeID) *GetOuterHTMLArgs {
	a.NodeID = &nodeID
	return a
}
func (a *GetOuterHTMLArgs) SetBackendNodeID(backendNodeID BackendNodeID) *GetOuterHTMLArgs {
	a.BackendNodeID = &backendNodeID
	return a
}
func (a *GetOuterHTMLArgs) SetObjectID(objectID runtime.RemoteObjectID) *GetOuterHTMLArgs {
	a.ObjectID = &objectID
	return a
}
type GetOuterHTMLReply struct {
	OuterHTML string `json:"outerHTML"`  
}
type GetRelayoutBoundaryArgs struct {
	NodeID NodeID `json:"nodeId"`  
}
func NewGetRelayoutBoundaryArgs(nodeID NodeID) *GetRelayoutBoundaryArgs {
	args := new(GetRelayoutBoundaryArgs)
	args.NodeID = nodeID
	return args
}
type GetRelayoutBoundaryReply struct {
	NodeID NodeID `json:"nodeId"`  
}
type GetSearchResultsArgs struct {
	SearchID  string `json:"searchId"`   
	FromIndex int    `json:"fromIndex"`  
	ToIndex   int    `json:"toIndex"`    
}
func NewGetSearchResultsArgs(searchID string, fromIndex int, toIndex int) *GetSearchResultsArgs {
	args := new(GetSearchResultsArgs)
	args.SearchID = searchID
	args.FromIndex = fromIndex
	args.ToIndex = toIndex
	return args
}
type GetSearchResultsReply struct {
	NodeIDs []NodeID `json:"nodeIds"`  
}
type MoveToArgs struct {
	NodeID             NodeID  `json:"nodeId"`                        
	TargetNodeID       NodeID  `json:"targetNodeId"`                  
	InsertBeforeNodeID *NodeID `json:"insertBeforeNodeId,omitempty"`  
}
func NewMoveToArgs(nodeID NodeID, targetNodeID NodeID) *MoveToArgs {
	args := new(MoveToArgs)
	args.NodeID = nodeID
	args.TargetNodeID = targetNodeID
	return args
}
func (a *MoveToArgs) SetInsertBeforeNodeID(insertBeforeNodeID NodeID) *MoveToArgs {
	a.InsertBeforeNodeID = &insertBeforeNodeID
	return a
}
type MoveToReply struct {
	NodeID NodeID `json:"nodeId"`  
}
type PerformSearchArgs struct {
	Query                     string `json:"query"`                                
	IncludeUserAgentShadowDOM *bool  `json:"includeUserAgentShadowDOM,omitempty"`  
}
func NewPerformSearchArgs(query string) *PerformSearchArgs {
	args := new(PerformSearchArgs)
	args.Query = query
	return args
}
func (a *PerformSearchArgs) SetIncludeUserAgentShadowDOM(includeUserAgentShadowDOM bool) *PerformSearchArgs {
	a.IncludeUserAgentShadowDOM = &includeUserAgentShadowDOM
	return a
}
type PerformSearchReply struct {
	SearchID    string `json:"searchId"`     
	ResultCount int    `json:"resultCount"`  
}
type PushNodeByPathToFrontendArgs struct {
	Path string `json:"path"`  
}
func NewPushNodeByPathToFrontendArgs(path string) *PushNodeByPathToFrontendArgs {
	args := new(PushNodeByPathToFrontendArgs)
	args.Path = path
	return args
}
type PushNodeByPathToFrontendReply struct {
	NodeID NodeID `json:"nodeId"`  
}
type PushNodesByBackendIDsToFrontendArgs struct {
	BackendNodeIDs []BackendNodeID `json:"backendNodeIds"`  
}
func NewPushNodesByBackendIDsToFrontendArgs(backendNodeIDs []BackendNodeID) *PushNodesByBackendIDsToFrontendArgs {
	args := new(PushNodesByBackendIDsToFrontendArgs)
	args.BackendNodeIDs = backendNodeIDs
	return args
}
type PushNodesByBackendIDsToFrontendReply struct {
	NodeIDs []NodeID `json:"nodeIds"`  
}
type QuerySelectorArgs struct {
	NodeID   NodeID `json:"nodeId"`    
	Selector string `json:"selector"`  
}
func NewQuerySelectorArgs(nodeID NodeID, selector string) *QuerySelectorArgs {
	args := new(QuerySelectorArgs)
	args.NodeID = nodeID
	args.Selector = selector
	return args
}
type QuerySelectorReply struct {
	NodeID NodeID `json:"nodeId"`  
}
type QuerySelectorAllArgs struct {
	NodeID   NodeID `json:"nodeId"`    
	Selector string `json:"selector"`  
}
func NewQuerySelectorAllArgs(nodeID NodeID, selector string) *QuerySelectorAllArgs {
	args := new(QuerySelectorAllArgs)
	args.NodeID = nodeID
	args.Selector = selector
	return args
}
type QuerySelectorAllReply struct {
	NodeIDs []NodeID `json:"nodeIds"`  
}
type RemoveAttributeArgs struct {
	NodeID NodeID `json:"nodeId"`  
	Name   string `json:"name"`    
}
func NewRemoveAttributeArgs(nodeID NodeID, name string) *RemoveAttributeArgs {
	args := new(RemoveAttributeArgs)
	args.NodeID = nodeID
	args.Name = name
	return args
}
type RemoveNodeArgs struct {
	NodeID NodeID `json:"nodeId"`  
}
func NewRemoveNodeArgs(nodeID NodeID) *RemoveNodeArgs {
	args := new(RemoveNodeArgs)
	args.NodeID = nodeID
	return args
}
type RequestChildNodesArgs struct {
	NodeID NodeID `json:"nodeId"`            
	Depth  *int   `json:"depth,omitempty"`   
	Pierce *bool  `json:"pierce,omitempty"`  
}
func NewRequestChildNodesArgs(nodeID NodeID) *RequestChildNodesArgs {
	args := new(RequestChildNodesArgs)
	args.NodeID = nodeID
	return args
}
func (a *RequestChildNodesArgs) SetDepth(depth int) *RequestChildNodesArgs {
	a.Depth = &depth
	return a
}
func (a *RequestChildNodesArgs) SetPierce(pierce bool) *RequestChildNodesArgs {
	a.Pierce = &pierce
	return a
}
type RequestNodeArgs struct {
	ObjectID runtime.RemoteObjectID `json:"objectId"`  
}
func NewRequestNodeArgs(objectID runtime.RemoteObjectID) *RequestNodeArgs {
	args := new(RequestNodeArgs)
	args.ObjectID = objectID
	return args
}
type RequestNodeReply struct {
	NodeID NodeID `json:"nodeId"`  
}
type ResolveNodeArgs struct {
	NodeID             *NodeID                     `json:"nodeId,omitempty"`              
	BackendNodeID      *BackendNodeID              `json:"backendNodeId,omitempty"`       
	ObjectGroup        *string                     `json:"objectGroup,omitempty"`         
	ExecutionContextID *runtime.ExecutionContextID `json:"executionContextId,omitempty"`  
}
func NewResolveNodeArgs() *ResolveNodeArgs {
	args := new(ResolveNodeArgs)
	return args
}
func (a *ResolveNodeArgs) SetNodeID(nodeID NodeID) *ResolveNodeArgs {
	a.NodeID = &nodeID
	return a
}
func (a *ResolveNodeArgs) SetBackendNodeID(backendNodeID BackendNodeID) *ResolveNodeArgs {
	a.BackendNodeID = &backendNodeID
	return a
}