id: number,
  path: Array<string | number>,
  rendererID: number,
|};
type RenamePathParams = {|
  type: PathType,
  hookID?: ?number,
  id: number,
  oldPath: Array<string | number>,
  newPath: Array<string | number>,
  rendererID: number,
|};
type OverrideValueAtPathParams = {|
  type: PathType,
  hookID?: ?number,
  id: number,
  path: Array<string | number>,
  rendererID: number,
  value: any,
|};
type OverrideSuspenseParams = {|
  id: number,
  rendererID: number,
  forceFallback: boolean,
|};
type PersistedSelection = {|
  rendererID: number,
  path: Array<PathFrame>,
|};
export default class Agent extends EventEmitter<{|