class_docstr: UploadedFileManager protocol, that should be implemented by the concrete
  uploaded file managers.
  
  It is responsible for:
      - retrieving files by session_id and file_id for st.file_uploader and
          st.camera_input
      - cleaning up uploaded files associated with session on session end
  
  It should be created during Runtime initialization.
  
  Optionally UploadedFileManager could be responsible for issuing URLs which will be
  used by frontend to upload files to.
class_docstr_tok: ["UploadedFileManager","protocol",",","that","should","be","implemented","by","the","concrete","uploaded","file","managers",".","It","is","responsible","for",":","-","retrieving","files","by","session_id","and","file_id","for","st.file_uploader","and","st.camera_input","-","cleaning","up","uploaded","files","associated","with","session","on","session","end","It","should","be","created","during","Runtime","initialization",".","Optionally","UploadedFileManager","could","be","responsible","for","issuing","URLs","which","will","be","used","by","frontend","to","upload","files","to","."]
docstr: Remove all files associated with a given session.
docstr_tok: ["Remove","all","files","associated","with","a","given","session","."]
code: def remove_session_files(self, session_id: str) -> None:
      """Remove all files associated with a given session."""
      raise NotImplementedError
  
imports: import io
  from abc import abstractmethod
  from typing import List, NamedTuple, Sequence
  from typing_extensions import Protocol
  from streamlit import util
  from streamlit.proto.Common_pb2 import FileURLs
  from streamlit.runtime.stats import CacheStatsProvider
label_desc: Use image node_id 2 for calling the UploadedFileManager obj's underlying member method code with example usage: obj.remove_session_files(session_id) without return types