import { EventEmitter } from '../../stencil-public-runtime';
import { ImageSize, ImageObjectFit } from './exports';
/**
* Displays a responsive image with configurable size, object-fit, optional caption, and accessible alt text.
*
* Example
* ```
*
* ```
*
* @part image - The `` element
* @part figure - The `` wrapper element
* @part caption - The `` element
*/
export declare class RImage {
el: HTMLElement;
/** URL of the image to display */
src: string;
/** Visual size */
size: ImageSize;
/** Width of the image */
width?: string;
/** Height of the image */
height?: string;
/** Controls how the image is cropped/scaled within its box */
objectFit: ImageObjectFit;
/** Controls the anchor point of the image within its box. Accepts any CSS object-position value, e.g. 'top', 'center', '50% 20%'. */
objectPosition?: string;
/** Accessible description of the image */
alt?: string;
/** Accessible label for the loading state */
loadingAlt: string;
/** Accessible label for the error state */
errorAlt: string;
/** Text to be shown in the error state for medium and large images */
reloadText: string;
/** Text displayed as an image caption (if size of an image is not "small"). */
caption?: string;
/** Emitted when the image starts loading */
rLoading: EventEmitter;
/** Emitted when the image has successfully loaded */
rComplete: EventEmitter;
/** Emitted when the image fails to load */
rFailed: EventEmitter;
/** Emitted when the src property changes */
rSrcChange: EventEmitter;
private loading;
private error;
private uniqueId;
private handleComplete;
private handleError;
handleSrcChange(): void;
/** Updates the image src */
setSrc(src: string): Promise;
/** Sets UI of the component into loading state. */
setLoading(): Promise;
/** Sets UI of the component into error state. */
setError(): Promise;
componentWillLoad(): void;
render(): any;
}