import { AllProps } from "../../theme/src/style-functions";
import { Dimensions, FinalPearlTheme, StyleFunctionContainer } from "../../theme/src/types";
import { ColorMode } from "../../theme/src/theme-context";
export declare const MOTI_PROPS: string[];
/**
 * Checks if a key exists in an object and throws an error if it doesn't.
 * @param key - The key to check for.
 * @param object - The object to check in.
 * @param objectVarName - Optional name of the object variable to include in the error message.
 * @throws {Error} - If the key does not exist in the object.
 */
export declare const checkKeyAvailability: (key: string, object: object, objectVarName?: string | undefined) => void;
/**
 * Composes style properties from an array of style functions.
 * @param styleFunctions - An array of style functions.
 * @returns An object containing a buildStyle function and an array of property names.
 */
export declare const composeStyleProps: (styleFunctions: StyleFunctionContainer[]) => {
    buildStyle: (props: AllProps, { theme, colorMode, dimensions, }: {
        theme: FinalPearlTheme;
        colorMode: ColorMode;
        dimensions: Dimensions;
    }) => any;
    properties: any[];
};
/**
 * Filters out properties from an object based on a list of properties to omit.
 * @param props - The object to filter.
 * @param omitList - The list of properties to omit.
 * @returns An object with the omitted properties removed.
 */
export declare const filterStyledProps: (props: any, omitList: any) => any;
/**
 * Builds the final style properties object by composing the core visual style with the component props.
 * @param props - The component props.
 * @param buildStyleProperties - The style properties to build.
 * @param theme - The theme object.
 * @param dimensions - The dimensions object.
 * @returns An object containing the final style properties.
 */
export declare const buildFinalStyleProps: (props: Record<string, any>, buildStyleProperties: any, { theme, colorMode, dimensions, }: {
    theme: FinalPearlTheme;
    colorMode: ColorMode;
    dimensions: Dimensions;
}) => any;
/**
 * Composes the clean style properties object by filtering out unnecessary properties.
 * @param props - The component props.
 * @param buildStyleProperties - The style properties to build.
 * @param theme - The theme object.
 * @param dimensions - The dimensions object.
 * @returns An object containing the clean style properties.
 */
export declare const composeCleanStyleProps: (props: Record<string, any>, buildStyleProperties: any, { theme, colorMode, dimensions, }: {
    theme: FinalPearlTheme;
    colorMode: ColorMode;
    dimensions: Dimensions;
}) => any;
//# sourceMappingURL=utils.d.ts.map