/**
 * @jsxRuntime classic
 * @jsx jsx
 */
import type { RefObject } from 'react';
import React from 'react';
import { jsx } from '@emotion/react';
import type { SerializedStyles } from '@emotion/react';
import type { RichMediaLayout as MediaSingleLayout } from '@atlaskit/adf-schema';
/**
 * Calculates the image width for non-resized images.
 *
 * If an image has not been resized using the pctWidth attribute,
 * then an image in wide or full-width can not be wider than the image's
 * original width.
 * @param layout
 * @param width
 * @param containerWidth
 * @param fullWidthMode
 * @param isResized
 * @param isInsideOfInlineExtension
 * @example
 */
export declare function calcLegacyWidth(layout: MediaSingleLayout, width: number, containerWidth?: number, fullWidthMode?: boolean, isResized?: boolean, isInsideOfInlineExtension?: boolean): string;
/**
 * Calculates the image width for non-resized images.
 *
 * If an image has not been resized using the pctWidth attribute,
 * then an image in wide or full-width can not be wider than the image's
 * original width.
 * @param layout
 * @param width
 * @param containerWidth
 * @param fullWidthMode
 * @param isResized
 * @example
 */
export declare function calcLegacyWidthForInline(layout: MediaSingleLayout, width: number, containerWidth?: number, fullWidthMode?: boolean, isResized?: boolean): string;
export interface MediaSingleWrapperProps {
    containerWidth?: number;
    fullWidthMode?: boolean;
    innerRef?: ((elem: HTMLDivElement) => void) | RefObject<HTMLDivElement>;
    isExtendedResizeExperienceOn?: boolean;
    isInRenderer?: boolean;
    isInsideOfInlineExtension?: boolean;
    isNestedNode?: boolean;
    isResized?: boolean;
    layout: MediaSingleLayout;
    mediaSingleWidth?: number;
    /**
     * @private
     * @deprecated Use {@link MediaSingleWrapperProps["mediaSingleWidth"]} instead.
     * Cleanup ticket: https://product-fabric.atlassian.net/browse/ED-19076
     */
    pctWidth?: number;
    width?: number;
}
/**
 * Can't use `.attrs` to handle highly dynamic styles because we are still
 * supporting `styled-components` v1.
 * @param root0
 * @param root0.containerWidth
 * @param root0.fullWidthMode
 * @param root0.isResized
 * @param root0.layout
 * @param root0.mediaSingleWidth
 * @param root0.width
 * @param root0.isExtendedResizeExperienceOn
 * @param root0.isNestedNode
 * @param root0.isInsideOfInlineExtension
 * @param root0.isInRenderer
 * @example
 */
export declare const MediaSingleDimensionHelper: ({ containerWidth, fullWidthMode, isResized, layout, mediaSingleWidth, width, isExtendedResizeExperienceOn, isNestedNode, isInsideOfInlineExtension, isInRenderer, }: MediaSingleWrapperProps) => SerializedStyles;
export interface MediaWrapperProps {
    hasFallbackContainer?: boolean;
    height?: number;
    paddingBottom?: string;
}
export declare const mediaWrapperStyle: (props: MediaWrapperProps) => SerializedStyles;
export declare const MediaWrapper: {
    ({ children, ...rest }: React.HTMLAttributes<HTMLDivElement> & MediaWrapperProps): jsx.JSX.Element;
    displayName: string;
};
type MediaBorderGapFillerProps = {
    borderColor: string;
};
export declare const MediaBorderGapFiller: ({ borderColor, }: MediaBorderGapFillerProps) => jsx.JSX.Element;
export { calcResizedWidth } from './calcResizedWidth';
export { roundToClosestEvenPxValue } from './roundToClosestEvenPxValue';
