Refactor a small report workspace without changing its behavior.
The workspace has two clients of the same in-memory store:
- an importer that only writes report text;
- a preview pane that only reads report text.
The starter gives both clients a broad ReportStore interface containing read and write. It works, but each client depends on an operation it never uses.
Keep these behaviors unchanged:
importText(text) replaces the stored text, increments the import count, and returns true.preview() increments the preview count and returns "PREVIEW: <current text>".importCount() and previewCount() return their respective counts.
Split the storage contract so each client receives only what it needs. The concrete in-memory store may implement both focused interfaces.