import { type CSSResultGroup, LitElement } from 'lit';
import type { Bindings } from '../atomic-search-interface/interfaces';
import type { InitializableComponent } from '../../../decorators/types';
import { type LightDOMWithSlots } from '../../../mixins/slots-for-no-shadow-dom-mixin';
import '../atomic-result-text/atomic-result-text';
declare const AtomicResultLink_base: import("../../../mixins/mixin-common").Constructor<{
    injectStyles(dynamicStyles?: CSSResultGroup): Promise<void>;
}> & typeof LitElement & import("../../../mixins/mixin-common").Constructor<LightDOMWithSlots>;
/**
 * The `atomic-result-link` component automatically transforms a search result title into a clickable link that points to the original item.
 * @slot default - Lets you display alternative content inside the link
 * @slot attributes - Lets you pass [attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attributes) down to the link element, overriding other attributes, to be used exclusively with an "a" tag such as `<a slot="attributes" target="_blank" download></a>`.
 */
export declare class AtomicResultLink extends AtomicResultLink_base implements InitializableComponent<Bindings> {
    static styles: CSSResultGroup;
    /**
     * A template literal from which to generate the `href` attribute value (see
     * [Template literals](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Template_literals)).
     *
     * The template literal can reference any number of result properties from the parent result. 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 result's `clickUri` and `itemtitle` fields.
     * ```html
     * <atomic-result-link href-template='${clickUri}?id=${raw.itemtitle}'></atomic-result-link>
     * ```
     */
    hrefTemplate?: string;
    private linkAttributes?;
    private stopPropagation?;
    private result;
    private interactiveResult;
    private removeLinkEventHandlers?;
    private resultContext;
    private interactiveResultContext;
    bindings: Bindings;
    error: Error;
    initialize(): void;
    disconnectedCallback(): void;
    willUpdate(changedProperties: Map<string, unknown>): void;
    render(): import("lit-html").TemplateResult<1>;
}
export interface AtomicResultLink extends LightDOMWithSlots {
}
declare global {
    interface HTMLElementTagNameMap {
        'atomic-result-link': AtomicResultLink;
    }
}
export {};
