## API Report File for "@fluentui/react-theme-provider"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

import { IPartialTheme } from '@uifabric/styling';
import { IStyleFunctionOrObject } from '@uifabric/utilities';
import * as React from 'react';

// @public
export type ColorTokens = Partial<{
    background: string;
    contentColor: string;
    subTextColor: string;
    linkColor: string;
    iconColor: string;
    borderColor: string;
    dividerColor: string;
    focusColor: string;
    focusInnerColor: string;
    opacity: string;
}>;

// @public (undocumented)
export type ColorTokenSet = ColorTokens & ColorTokenStates;

// @public
export type ColorTokenStates = Partial<{
    hovered: ColorTokens;
    pressed: ColorTokens;
    disabled: ColorTokens;
    checked: ColorTokens;
    checkedHovered: ColorTokens;
    checkedPressed: ColorTokens;
}>;

// @public (undocumented)
export type FontTokens = Partial<{
    fontFamily: string;
    fontSize: string;
    fontWeight: string;
}>;

// @public (undocumented)
export const getStyleFromPropsAndOptions: <TProps extends StyleProps<import("./types").ColorTokenSet>, TOptions extends StyleOptions<TProps>>(props: TProps, options: TOptions, prefix?: string | undefined) => import("react").CSSProperties;

// @public
export function mergeThemes<TResult = PartialTheme>(...themes: (undefined | PartialTheme | Theme)[]): TResult;

// @public
export interface PartialTheme extends RecursivePartial<Theme> {
}

// @public
export type RecursivePartial<T> = {
    [P in keyof T]?: T[P] extends (infer U)[] ? RecursivePartial<U>[] : T[P] extends object ? RecursivePartial<T[P]> : T[P];
};

// @public (undocumented)
export interface StyleOptions<TProps> {
    // (undocumented)
    slotProps: ((props: TProps) => Record<string, object>)[];
}

// @public
export interface StyleProps<TTokens extends ColorTokenSet = ColorTokenSet> {
    // (undocumented)
    style?: React.CSSProperties;
    // (undocumented)
    tokens?: TTokens;
}

// @public
export interface Theme extends IPartialTheme {
    // (undocumented)
    components?: {
        [componentName: string]: {
            styles?: IStyleFunctionOrObject<any, any>;
        };
    };
    // (undocumented)
    stylesheets?: string[];
    // (undocumented)
    tokens?: Tokens;
}

// @public
export const ThemeProvider: React.ForwardRefExoticComponent<ThemeProviderProps & React.RefAttributes<HTMLDivElement>>;

// @public
export interface ThemeProviderProps extends React.HTMLAttributes<HTMLDivElement> {
    theme?: PartialTheme | Theme;
}

// @public (undocumented)
export interface Tokens {
    // (undocumented)
    [key: string]: TokenSetType;
    // (undocumented)
    body: ColorTokenSet & TokenSetType;
}

// @public
export type TokenSetType = {
    [key: string]: string | TokenSetType | undefined;
};

// @public (undocumented)
export const tokensToStyleObject: (tokens?: TokenSetType | undefined, prefix?: string | undefined, style?: import("react").CSSProperties | undefined) => import("react").CSSProperties;

// @public
export const useInlineTokens: (draftState: {
    style?: import("react").CSSProperties | undefined;
    tokens?: TokenSetType | undefined;
}, prefix: string) => void;

// @public
export const useTheme: () => Theme;


// (No @packageDocumentation comment for this package)

```
