## API Report File for "@fluentui/foundation-legacy" > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts import { ISchemeNames } from '@fluentui/style-utilities'; import { IStyle } from '@fluentui/style-utilities'; import { IStyleSetBase } from '@fluentui/style-utilities'; import { ITheme } from '@fluentui/style-utilities'; import { styled as legacyStyled } from '@fluentui/utilities'; import * as React_2 from 'react'; // @public export function createComponent(view: IViewComponent, options?: IComponentOptions): React_2.FunctionComponent & TStatics; // @public export function createFactory(DefaultComponent: React_2.ComponentType, options?: IFactoryOptions): ISlotFactory; // @public export type ExtractProps = TUnion extends ISlotProp ? TProps : never; // @public export type ExtractShorthand = TUnion extends boolean ? boolean : TUnion extends number ? number : TUnion extends string ? string : never; // @public export function getControlledDerivedProps(props: Readonly, propName: TProp, derivedValue: TProps[TProp]): TProps[TProp]; // @public export function getSlots, TComponentSlots>(userProps: TComponentProps, slots: ISlotDefinition>): ISlots>; // @public export type IComponent = Required> & { view: IViewComponent; }; // @public export interface IComponentOptions { displayName?: string; factoryOptions?: IFactoryOptions; fields?: string[]; state?: IStateComponentType; statics?: TStatics; styles?: IStylesFunctionOrObject; tokens?: ITokenFunctionOrObject; } // @public export type IComponentStyles = { [key in keyof TSlots]?: IStyle; }; // @public (undocumented) export interface IControlledStateOptions { // (undocumented) defaultPropName?: TDefaultProp; // (undocumented) defaultPropValue?: TProps[TProp]; } // @public (undocumented) export type ICustomizationProps = IStyleableComponentProps & Required, 'theme'>>; // @public export interface IDefaultSlotProps { // (undocumented) _defaultStyles: IComponentStyles; } // @public export interface IFactoryOptions { defaultProp?: keyof TProps | 'children'; } // @public export type IHTMLElementSlot = ISlotProp; // @public export type IHTMLSlot = ISlotProp, any>>; // @public export interface IProcessedSlotProps { // (undocumented) className?: string; } // @public @deprecated export type IPropsWithChildren = React_2.PropsWithChildren; // @public export interface ISlot { // (undocumented) (componentProps: React_2.PropsWithChildren | undefined | null): ReturnType; // (undocumented) isSlot?: boolean; } // @public export interface ISlotCreator { // (undocumented) create?: ISlotFactory; } // @public export type ISlotDefinition = { [slot in keyof TSlots]: React_2.ElementType>; }; // @public export type ISlotFactory = (componentProps: TProps & IProcessedSlotProps, userProps: ISlotProp, slotOptions: ISlotOptions | undefined, defaultStyles: IStyle, theme?: ITheme) => ReturnType>; // @public export interface ISlotOptions { // (undocumented) component?: React_2.ElementType; // (undocumented) render?: ISlotRender; } // @public export type ISlotProp = TShorthandProp | TProps; // @public export type ISlotRender = (props: React_2.PropsWithChildren, defaultComponent: React_2.ComponentType) => ReturnType>; // @public export type ISlots = { [slot in keyof TSlots]: ISlot>; }; // @public export type ISlottableComponentType = React_2.ComponentType & ISlotCreator; // @public export type ISlottableProps = TSlots & { slots?: { [key in keyof TSlots]+?: ISlotOptions>; }; }; // @public export type ISlottableReactType = React_2.ElementType & ISlotCreator; // @public export type IStateComponentType = (props: Readonly) => TViewProps; // @public export interface IStyleableComponentProps { // (undocumented) className?: string; // (undocumented) styles?: IStylesFunctionOrObject; // (undocumented) theme?: ITheme; // (undocumented) tokens?: ITokenFunctionOrObject; } // @public export type IStylesFunction = (props: TViewProps, theme: ITheme, tokens: TTokens) => TStyleSet; // @public export type IStylesFunctionOrObject = IStylesFunction | TStyleSet; // @public (undocumented) export interface IThemeProviderProps { // (undocumented) scheme?: ISchemeNames; // (undocumented) theme?: ITheme; } // @public export type IToken = ITokenBase | ITokenBaseArray; // @public export type ITokenBase = ITokenFunctionOrObject | false | null | undefined; // @public export interface ITokenBaseArray extends Array> { } // @public export type ITokenFunction = (props: TViewProps, theme: ITheme) => IToken; // @public export type ITokenFunctionOrObject = ITokenFunction | TTokens; // @public export type IViewComponent = (props: React_2.PropsWithChildren) => ReturnType; export { legacyStyled } // @public @deprecated export const ThemeProvider: React_2.FunctionComponent; // @public export function useControlledState(props: Readonly, propName: TProp, options?: IControlledStateOptions): [TProps[TProp] | undefined, React_2.Dispatch>]; // @public export type ValidProps = object; // @public export type ValidShorthand = string | number | boolean; // @public export function withSlots

(type: ISlot

| React_2.FunctionComponent

| string, props?: (React_2.Attributes & P) | null, ...children: React_2.ReactNode[]): ReturnType>; // (No @packageDocumentation comment for this package) ```