import { ComponentWithAs, ComposePreparedOptions, ShorthandConfig } from '@fluentui/react-bindings'; import * as React from 'react'; import { ShorthandValue, Props, PropsOf, ShorthandRenderFunction } from '../types'; interface CreateShorthandOptions

{ /** Default props object */ defaultProps?: () => Partial>; /** Override props object or function (called with regular props) */ overrideProps?: Partial> | ((props: P) => Partial>); /** Whether or not automatic key generation is allowed */ generateKey?: boolean; /** Override the default render implementation. */ render?: ShorthandRenderFunction

; } export declare type ShorthandFactory

= (value: ShorthandValue

, options?: CreateShorthandOptions

) => React.ReactElement | null | undefined; /** * @param config - Options passed to factory * @returns A shorthand factory function waiting for `val` and `defaultProps`. */ export declare function createShorthandFactory(config: { /** A ReactClass or string */ Component: TStringElement; /** A function that maps a primitive value to the Component props */ mappedProp?: keyof PropsOf; /** A function that maps an array value to the Component props */ mappedArrayProp?: keyof PropsOf; /** Indicates if factory supports React Elements */ allowsJSX?: boolean; }): ShorthandFactory

; export declare function createShorthandFactory(config: { Component: TFunctionComponent; mappedProp?: keyof PropsOf; mappedArrayProp?: keyof PropsOf; allowsJSX?: boolean; }): ShorthandFactory

; export declare function createShorthandFactory(config: { Component: { new (...args: any[]): TInstance; }; mappedProp?: keyof PropsOf; mappedArrayProp?: keyof PropsOf; allowsJSX?: boolean; }): ShorthandFactory

; export declare function createShorthandInternal

({ Component, mappedProp, mappedArrayProp, value, options, allowsJSX, }: { Component: React.ElementType

; mappedProp?: string; mappedArrayProp?: string; allowsJSX?: boolean; value?: ShorthandValue

; options?: CreateShorthandOptions

; }): any; export declare function createShorthand(Component: TFunctionComponent & { shorthandConfig?: ShorthandConfig>; fluentComposeConfig?: ComposePreparedOptions>; }, value?: ShorthandValue>, options?: CreateShorthandOptions>): React.ReactElement; export declare function createShorthand(Component: { new (...args: any[]): TInstance; } & { shorthandConfig?: ShorthandConfig>; fluentComposeConfig?: ComposePreparedOptions>; }, value?: ShorthandValue>, options?: CreateShorthandOptions>): React.ReactElement; export declare function createShorthand(Component: ComponentWithAs & { shorthandConfig?: ShorthandConfig

; fluentComposeConfig?: ComposePreparedOptions

; }, value?: ShorthandValue

, options?: CreateShorthandOptions

): React.ReactElement; export declare function createShorthand(Component: TElementType & { shorthandConfig?: ShorthandConfig>; fluentComposeConfig?: ComposePreparedOptions>; }, value?: ShorthandValue>, options?: CreateShorthandOptions>): React.ReactElement; export {};