import { ColorScheme, FinalPearlTheme, ResponsiveValue, StyleFunctionContainer } from "../theme/src/types";
import { StyleSheetProperties } from "react-native";
/**
 * useMolecularComponentConfig is a custom hook used to convert a molecular component style config to the appropriate React Native styles.
 * It takes the benefits of the useAtomicComponentConfig hook to the next level, allowing you to create complex components by combining different atomic components while still maintaining the ease of the styling through a component style config.
 *
 * @param themeComponentKey Name of the component in PearlTheme.components who's config needs to be used
 * @param receivedProps Raw props passed to the component where the hook is being used
 * @param sizeAndVariantProps Custom size and variant configuration to use
 * @param colorScheme Active color scheme of the component
 * @param styleFunctions List of style functions to use for computing the received style props
 * @param partForOverridenStyleProps The part where the style props passed to the component instance should be reflected. If undefined, the style props are passed to the first part as specified in the config
 * @param partForOverridenNativeProps The part where other native props (non-style props) passed to the component instance should be reflected. If undefined, the native props are passed to the first part as specified in the config
 * @param partForOverridenAnimationProps The part where animation props passed to the component instance should be reflected. If undefined, the animation props are passed to the first part as specified in the config
 * @returns
 */
export declare const useMolecularComponentConfig: <ComponentAtoms extends Record<string, any> = Record<string, any>>(componentName: keyof FinalPearlTheme["components"], receivedProps: Record<string, any>, sizeAndVariantProps?: {
    size?: ResponsiveValue<string | undefined>;
    variant?: ResponsiveValue<string | undefined>;
}, colorScheme?: ColorScheme, styleFunctions?: StyleFunctionContainer[], partForOverridenStyleProps?: string | undefined, partForOverridenNativeProps?: string | undefined, partForOverridenAnimationProps?: string | undefined) => {
    atoms: ComponentAtoms;
    style?: StyleSheetProperties | undefined;
};
//# sourceMappingURL=useMolecularComponentConfig.d.ts.map