import { type RecommendationEngine, type RecommendationEngineConfiguration, type LogLevel as RecsLogLevel } from '@coveo/headless/recommendation';
import { type i18n } from 'i18next';
import { LitElement } from 'lit';
import type { CommonBindings } from '../../common/interface/bindings';
import { type BaseAtomicInterface } from '../../common/interface/interface-controller';
import { type RecsStore } from './store';
type RecsInitializationOptions = RecommendationEngineConfiguration;
export type RecsBindings = CommonBindings<RecommendationEngine, RecsStore, AtomicRecsInterface>;
declare const AtomicRecsInterface_base: typeof LitElement;
/**
 * The `atomic-recs-interface` component is the parent to all other atomic components in a recommendation interface. It handles the headless recommendation engine and localization configurations.
 * @slot default - The default slot where you can add child components to the recommendation interface.
 */
export declare class AtomicRecsInterface extends AtomicRecsInterface_base implements BaseAtomicInterface<RecommendationEngine> {
    bindings: RecsBindings;
    error: Error;
    private initialized;
    private store;
    private i18Initialized;
    private interfaceController;
    /**
     * A list of non-default fields to include in the query results.
     *
     * Specify the property as an array using a JSON string representation:
     * ```html
     * <atomic-recs-interface fields-to-include='["fieldA", "fieldB"]'></atomic-recs-interface>
     * ```
     */
    fieldsToInclude: string[];
    /**
     * The recommendation interface [query pipeline](https://docs.coveo.com/en/180/).
     *
     * If the recommendation interface is initialized using [`initializeWithRecommendationEngine`](https://docs.coveo.com/en/atomic/latest/reference/recommendation-components/atomic-recs-interface/#initializewithrecommendationengine), the query pipeline should instead be configured in the target engine.
     */
    pipeline?: string;
    /**
     * The recommendation interface [search hub](https://docs.coveo.com/en/1342/).
     *
     * If the recommendation interface is initialized using [`initializeWithRecommendationEngine`](https://docs.coveo.com/en/atomic/latest/reference/recommendation-components/atomic-recs-interface/#initializewithrecommendationengine), the search hub should instead be configured in the target engine.
     */
    searchHub?: string;
    /**
     * Whether analytics should be enabled.
     */
    analytics: boolean;
    /**
     * The [tz database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) identifier of the time zone to use to correctly interpret dates in the query expression, facets, and result items.
     * By default, the timezone will be [guessed](https://day.js.org/docs/en/timezone/guessing-user-timezone).
     *
     * Example: "America/Montreal"
     */
    timezone?: string;
    /**
     * The minimum severity level of messages to log in the console.
     * Messages with a severity level below this threshold will not be logged.
     * Possible values are `trace`, `debug`, `info`, `warn`, `error`, `fatal`, or `silent`.
     */
    logLevel?: RecsLogLevel;
    /**
     * The recommendation interface i18next instance.
     */
    i18n: i18n;
    /**
     * The recommendation interface language.
     */
    language: string;
    /**
     * The headless recommendation engine.
     */
    engine?: RecommendationEngine;
    /**
     * The language assets path. By default, this will be a relative URL pointing to `./lang`.
     *
     * Example: "/mypublicpath/languages"
     *
     */
    languageAssetsPath: string;
    /**
     * The icon assets path. By default, this will be a relative URL pointing to `./assets`.
     *
     * Example: "/mypublicpath/icons"
     *
     */
    iconAssetsPath: string;
    constructor();
    connectedCallback(): void;
    willUpdate(changedProperties: Map<string, unknown>): void;
    disconnectedCallback(): void;
    /**
     * Initializes the connection with the headless recommendation engine using options for `accessToken` (required), `organizationId` (required), `environment` (defaults to `prod`), and `renewAccessToken`.
     */
    initialize(options: RecsInitializationOptions): Promise<void>;
    /**
     * Initializes the interface using the provided [headless recommendation engine](https://docs.coveo.com/en/headless/latest/reference/modules/Recommendation.html), as opposed to the `initialize` method which internally builds a recommendation engine instance.
     * This bypasses the properties set on the component, such as analytics, searchHub, pipeline, language, timezone, and logLevel.
     */
    initializeWithRecommendationEngine(engine: RecommendationEngine): Promise<void>;
    /**
     *
     * Executes the first request after initializing connection to the headless recommendation engine.
     */
    getRecommendations(): Promise<void>;
    registerFieldsToInclude(): void;
    toggleAnalytics(): void;
    updateLanguage(): void;
    updateIconAssetsPath(): void;
    render(): import("lit-html").TemplateResult<1>;
    private handleInitialization;
    private getBindings;
    private initEngine;
    private initFieldsToInclude;
    private updateFieldsToInclude;
    private internalInitialization;
}
declare global {
    interface HTMLElementTagNameMap {
        'atomic-recs-interface': AtomicRecsInterface;
    }
}
export {};
