import type { InteractiveProduct, Product } from '@coveo/headless/commerce';
import { type CSSResultGroup, LitElement } from 'lit';
import type { InitializableComponent } from '../../../decorators/types';
import type { CommerceBindings } from '../atomic-commerce-interface/atomic-commerce-interface';
import '../atomic-product-text/atomic-product-text';
import { type LightDOMWithSlots } from '../../../mixins/slots-for-no-shadow-dom-mixin';
declare const AtomicProductLink_base: import("../../../mixins/mixin-common").Constructor<{
    injectStyles(dynamicStyles?: CSSResultGroup): Promise<void>;
}> & typeof LitElement & import("../../../mixins/mixin-common").Constructor<LightDOMWithSlots>;
/**
 * The `atomic-product-link` component automatically transforms a product `ec_name` into a clickable link that points to the original item.
 *
 * @slot default - The content to display inside the link.
 * @slot attributes - Use `<a slot="attributes" target="_blank"></a>` to pass custom attributes to the generated link.
 */
export declare class AtomicProductLink extends AtomicProductLink_base implements InitializableComponent<CommerceBindings> {
    static styles: CSSResultGroup;
    /**
     * The [template literal](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Template_literals) from which to generate the `href` attribute value
     *
     * The template literal can reference any number of product properties from the parent product. It can also reference the window object.
     *
     * For example, the following markup generates an `href` value such as `http://uri.com?id=itemTitle`, using the product's `clickUri` and `itemtitle` fields.
     * ```html
     * <atomic-product-link href-template='${clickUri}?id=${permanentid}'></atomic-product-link>
     * ```
     */
    hrefTemplate?: string;
    product?: Product;
    interactiveProduct?: InteractiveProduct;
    productController: import("../../common/item-list/context/item-context-controller").ItemContextController<Product>;
    interactiveProductController: import("../../common/item-list/context/interactive-item-context-controller").InteractiveItemContextController<InteractiveProduct>;
    bindings: CommerceBindings;
    error: Error;
    private linkAttributes?;
    private stopPropagation?;
    private removeLinkEventHandlers?;
    private logWarningIfNeeded;
    initialize(): void;
    disconnectedCallback(): void;
    willUpdate(changedProperties: Map<string, unknown>): void;
    render(): import("lit-html").TemplateResult<1>;
}
export interface AtomicProductLink extends LightDOMWithSlots {
}
declare global {
    interface HTMLElementTagNameMap {
        'atomic-product-link': AtomicProductLink;
    }
}
export {};
