import { CSSProp } from 'styled-components';
import { AnimationType } from '../../types/styles/animation';
import { BackgroundTypes } from '../../types/styles/background';
import { BorderTypes } from '../../types/styles/border';
import { AfterOrBeforeType, CommonStyleType } from '../../types/styles/commonStyle';
import { DisplayTypes } from '../../types/styles/display';
import { MarginTypes } from '../../types/styles/margin';
import { MeasuresTypes } from '../../types/styles/measures';
import { PaddingTypes } from '../../types/styles/padding';
import { PointerTypes } from '../../types/styles/pointer';
import { PositionTypes } from '../../types/styles/position';
import { ScrollTypes } from '../../types/styles/scroll';
import { BoxShadowTypes } from '../../types/styles/shadow';
import { TypographyTypes } from '../../types/styles/typography';
import { WordWrapTypes } from '../../types/styles/wordWrap';
/**
 * Get scroll styles.
 * @param {ScrollTypes} prop - scroll styles
 */
export declare const getScrollStyles: (prop?: ScrollTypes) => CSSProp;
/**
 * Returns the background styles.
 * @param {BackgroundTypes} prop - The background properties.
 * @returns {string} - The background styles.
 * @category styles
 * @example
 * getBackgroundStyles({ background: '10px' });
 * // Returns: background: 10px;
 */
export declare const getBackgroundStyles: (prop?: BackgroundTypes) => CSSProp;
/**
 * Get border styles.
 * @param {BorderTypes} prop - border styles
 * @category styles
 * @example
 * const Component = styled.div<BorderTypes>`
 * ${getBorderStyles}
 * `;
 * @returns {string} border styles
 * ,
 */
export declare const getBorderStyles: (prop?: BorderTypes) => CSSProp;
/**
 * Get display styles.
 * @param {DisplayTypes} prop - display styles
 * @category styles
 * @example
 * const Component = styled.div<DisplayTypes>`
 * ${getDisplayStyles}
 * `;
 * @returns {string} display styles
 * ,
 */
export declare const getDisplayStyles: (prop?: DisplayTypes) => CSSProp;
/**
 * Get margin styles.
 * @param {MarginTypes} prop - margin styles
 * @category styles
 * @example
 * const Component = styled.div<MarginTypes>`
 * ${getMarginStyles}
 * `;
 * @returns {string} margin styles
 * ,
 */
export declare const getMarginStyles: (prop?: MarginTypes) => CSSProp;
/**
 * Get measures styles.
 * @param {MeasuresType} prop - measures styles
 * @category styles
 * @example
 * const Component = styled.div<MeasuresType>`
 *  ${getMeasuresStyles}
 * `;
 * @returns {string} measures styles
 * ,
 */
export declare const getMeasuresStyles: (prop?: MeasuresTypes) => CSSProp;
/**
 * Returns the padding styles.
 * @param {PaddingTypes} prop - The padding properties.
 * @returns {string} - The padding styles.
 * @category styles
 * @example
 * getPaddingStyles({ padding: '10px' });
 * // Returns: padding: 10px;
 */
export declare const getPaddingStyles: (prop?: PaddingTypes) => CSSProp;
/**
 * Get position styles.
 * @param {PositionTypes} prop - position styles
 * @category styles
 * @example
 * const Component = styled.div<PositionTypes>`
 * ${getPositionStyles}
 * `;
 * @returns {string} position styles
 * ,
 */
export declare const getPositionStyles: (prop?: PositionTypes) => CSSProp;
/**
 * Returns the box shadow styles.
 * @param {BoxShadowTypes} prop - The box shadow properties.
 * @returns {string} - The box shadow styles.
 * @category styles
 * @example
 * getBoxShadowStyles({ box_shadow: '10px' });
 * // Returns: box-shadow: 10px;
 *
 */
export declare const getBoxShadowStyles: (prop?: BoxShadowTypes) => CSSProp;
export declare const getGenericTypographyStyles: (prop?: TypographyTypes) => CSSProp;
/**
 * Get typography styles.
 * @param {TypographyTypes} prop - typography styles
 * @category styles
 * @example
 * const Component = styled.div<TypographyTypes>`
 * ${getTypographyStyles}
 * `;
 * @returns {string} typography styles
 * ,
 */
export declare const getTypographyStyles: (prop?: TypographyTypes) => CSSProp;
/**
 * Get pointer styles.
 * @param {PointerTypes} prop - pointer styles
 * @category styles
 * @example
 * const Component = styled.div<PointerTypes>`
 * ${getPointerStyles}
 * `;
 * @returns {string} pointer styles
 * ,
 */
export declare const getPointerStyles: (prop?: PointerTypes) => CSSProp;
export declare const getWordWrapStyles: (prop?: WordWrapTypes) => CSSProp;
export declare const getPseudoStyles: (pseudoKey: string, { content, ...styles }: AfterOrBeforeType) => CSSProp;
export declare const getStyles: (styles?: CommonStyleType) => CSSProp;
/**
 * Get animation styles.
 * @param {AnimationType} prop - animation styles
 * @category styles
 * @example
 * const Component = styled.div<AnimationType>`
 *  ${getAnimationStyles}
 * `;
 * @returns {string} animation styles
 * ,
 */
export declare const getAnimationStyles: (prop?: AnimationType) => CSSProp;
