> ## Documentation Index > Fetch the complete documentation index at: https://openrouter.ai/docs/llms.txt > Use this file to discover all available pages before exploring further. # Thinking ## Supported Types ### ThinkingEnabled ```go theme={null} thinking := components.CreateThinkingEnabled(components.ThinkingEnabled{/* values here */}) ``` ### ThinkingDisabled ```go theme={null} thinking := components.CreateThinkingDisabled(components.ThinkingDisabled{/* values here */}) ``` ### ThinkingAdaptive ```go theme={null} thinking := components.CreateThinkingAdaptive(components.ThinkingAdaptive{/* values here */}) ``` ## Union Discrimination Use the `Type` field to determine which variant is active, then access the corresponding field: ```go theme={null} switch thinking.Type { case components.ThinkingTypeEnabled: // thinking.ThinkingEnabled is populated case components.ThinkingTypeDisabledValue: // thinking.ThinkingDisabled is populated case components.ThinkingTypeAdaptive: // thinking.ThinkingAdaptive is populated } ```