type StringLiteral = Type extends string ? (string extends Type ? never : Type) : never; declare const __OPAQUE_TYPE__: unique symbol; export type WithOpaque = { readonly [__OPAQUE_TYPE__]: Token; }; export type Opaque = Token extends StringLiteral ? Type & WithOpaque : never; export {};