import { Theme } from '../../../theme/theme.types';
import { MediaRelatedProps } from './shared.types';
/**
 * Generates styles for different screen sizes based on props.
 * @param getProps function that returns the required props from all the component props, which are then used to create styles for different screen sizes
 * @param stylesPerPropCallbacks object with callbacks that returns the respective styles for each key.
 * @returns styles for all different screen sizes, where all the styles for a specific screen size are wrapped in their respective media query. For example: all md styles will be wrapped in a `theme.media.greaterThan(p.theme.breakpoints['md'])` media query.
 */
declare const getStylesForSizes: <BaseProps, ScreenSizeConfigurableProps>(getProps: (p: any) => BaseProps & {
    xs: Partial<ScreenSizeConfigurableProps> | undefined;
} & MediaRelatedProps<ScreenSizeConfigurableProps>, stylesPerPropCallbacks: { [K in keyof ScreenSizeConfigurableProps]: (props: BaseProps & ScreenSizeConfigurableProps & {
    theme: Theme;
}) => string; }) => (p: {
    [key: string]: any;
    theme: Theme;
}) => string;
export default getStylesForSizes;
