/**
* Requested theme mode.
*
* - `"light"` / `"dark"` — force the given theme regardless of OS preference.
* - `"system"` — follow `prefers-color-scheme` and react to changes at runtime.
*/
export type OsdkThemeMode = "light" | "dark" | "system";
/**
* The concrete theme actually applied to the DOM. `OsdkThemeMode` of
* `"system"` resolves to either `"light"` or `"dark"` depending on the
* current value of `prefers-color-scheme`.
*/
export type ResolvedOsdkTheme = "light" | "dark";
export interface OsdkThemeContextValue {
	/** The requested mode, including `"system"`. */
	theme: OsdkThemeMode;
	/** The concrete theme currently applied to the DOM. */
	resolvedTheme: ResolvedOsdkTheme;
	/**
	* Update the requested mode. In controlled mode (`theme` prop on the
	* provider) this only invokes `onThemeChanged`; the consumer is expected
	* to re-render the provider with the new value.
	*/
	setTheme: (theme: OsdkThemeMode) => void;
}
