import { type SmartSnippet as InsightSmartSnippet, type SmartSnippetState as InsightSmartSnippetState } from '@coveo/headless/insight';
import { LitElement } from 'lit';
import type { InsightBindings } from '../atomic-insight-interface/atomic-insight-interface';
import type { InitializableComponent } from '../../../decorators/types';
import '../../common/atomic-smart-snippet-collapse-wrapper/atomic-smart-snippet-collapse-wrapper';
import '../../common/atomic-smart-snippet-expandable-answer/atomic-smart-snippet-expandable-answer';
import '../../common/atomic-smart-snippet-source/atomic-smart-snippet-source';
import '../atomic-insight-smart-snippet-feedback-modal/atomic-insight-smart-snippet-feedback-modal';
/**
 * The `atomic-insight-smart-snippet` component displays a smart snippet for an Insight Panel query.
 * Smart snippets are generated answers extracted from relevant documents.
 *
 * @part smart-snippet - The container for the smart snippet.
 * @part body - The expandable answer body.
 * @part feedback-banner - The feedback banner container.
 * @part feedback-inquiry - The feedback inquiry text.
 * @part feedback-buttons - The container for feedback buttons.
 * @part feedback-like-button - The like button.
 * @part feedback-dislike-button - The dislike button.
 * @part feedback-thank-you-wrapper - The thank you message wrapper.
 * @part feedback-thank-you - The thank you message.
 * @part feedback-explain-why-button - The explain why button.
 *
 * @slot source-anchor-attributes - Slot for attributes to apply to the source anchor element.
 */
export declare class AtomicInsightSmartSnippet extends LitElement implements InitializableComponent<InsightBindings> {
    static styles: import("lit").CSSResult;
    bindings: InsightBindings;
    error: Error;
    smartSnippetState: InsightSmartSnippetState;
    smartSnippet: InsightSmartSnippet;
    private feedbackSent;
    private smartSnippetId;
    private modalRef?;
    private feedbackSentHandler;
    /**
     * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the question at the top of the snippet, from 1 to 5.
     */
    headingLevel: number;
    /**
     * The maximum height (in pixels) a snippet can have before the component truncates it and displays a "show more" button.
     */
    maximumHeight: number;
    /**
     * When the answer is partly hidden, how much of its height (in pixels) should be visible.
     */
    collapsedHeight: number;
    /**
     * Sets the style of the snippet.
     *
     * Example:
     * ```ts
     * smartSnippet.snippetStyle = `
     *   b {
     *     color: blue;
     *   }
     * `;
     * ```
     */
    snippetStyle?: string;
    initialize(): void;
    disconnectedCallback(): void;
    willUpdate(): void;
    private loadModal;
    private renderSource;
    private renderFeedbackBanner;
    render(): import("lit-html").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'atomic-insight-smart-snippet': AtomicInsightSmartSnippet;
    }
}
