Glenn is designing a Playwright automation framework using TypeScript. He wants to ensure all the custom Page Objects adhere to a common structure. What TypeScript feature would he use to maintain consistency across the framework?
An `interface` to define the
shape and required methods.
A `type alias` using `any`
to allow flexible method definitions.
A `class` with `private`
methods to restrict access.