import type { SearchEngine } from '../../app/search-engine/search-engine.js';
import { type Quickview as CoreQuickview, type QuickviewState as CoreQuickviewState, type QuickviewOptions, type QuickviewProps } from '../core/quickview/headless-core-quickview.js';
export type { QuickviewOptions, QuickviewProps, CoreQuickviewState, CoreQuickview, };
/**
 * A scoped and simplified part of the headless state that is relevant to the `Quickview` controller.
 *
 * @group Controllers
 * @category Quickview
 */
export interface QuickviewState extends CoreQuickviewState {
    /**
     * The number of available results for the current result set.
     *
     * Can be used for quickview pagination purpose.
     */
    totalResults: number;
    /**
     * The position of the result in the current result set.
     *
     * Can be used for quickview pagination purpose.
     */
    currentResult: number;
}
/**
 * The `Quickview` controller provides an interface for triggering desirable side effects, such as logging UA events to the Coveo Platform, when a user interacts with a quickview.
 *
 * Example: [quickview.fn.tsx](https://github.com/coveo/ui-kit/blob/main/packages/samples/headless-react/src/components/quickview/quickview.fn.tsx)
 *
 * @group Controllers
 * @category Quickview
 */
export interface Quickview extends CoreQuickview {
    state: QuickviewState;
}
/**
 * Creates a `Quickview` controller instance.
 *
 * @param engine - The headless engine.
 * @param props - The configurable `Quickview` properties.
 * @returns A `Quickview` controller instance.
 *
 * @group Controllers
 * @category Quickview
 */
export declare function buildQuickview(engine: SearchEngine, props: QuickviewProps): Quickview;
