import { LitElement } from 'lit';
import type { Bindings } from '../atomic-search-interface/interfaces';
import type { InitializableComponent } from '../../../decorators/types';
declare const AtomicResultImage_base: import("../../../mixins/mixin-common").Constructor<{
    injectStyles(dynamicStyles?: import("lit").CSSResultGroup): Promise<void>;
}> & typeof LitElement;
/**
 * The `atomic-result-image` component renders an image from a result field.
 */
export declare class AtomicResultImage extends AtomicResultImage_base implements InitializableComponent<Bindings> {
    static styles: import("lit").CSSResult;
    private static readonly propsSchema;
    /**
     * The result field which the component should use. This will look for the field in the Result object first, then in the Result.raw object. It is important to include the necessary field in the `atomic-search-interface` component.
     */
    field: string;
    /**
     * The result field that contains the alt text for the image. This will look for the field in the Result object first, then in the Result.raw object.
     *
     * If the field is not specified, or does not contain a valid value, the alt text will be set to "Image for {productName}".
     */
    imageAltField?: string;
    /**
     * An optional fallback image URL that will be used in case the specified image field is not available or encounters an error.
     */
    fallback?: string;
    bindings: Bindings;
    error: Error;
    private result;
    private useFallback;
    private resultController;
    constructor();
    initialize(): void;
    get url(): any;
    private get altText();
    private logWarning;
    private handleImageError;
    private handleMissingFallback;
    private validateUrl;
    private renderImage;
    render(): import("lit-html").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'atomic-result-image': AtomicResultImage;
    }
}
export {};
