import { LitElement, type PropertyValues } from 'lit';
import type { AnyBindings } from '../interface/bindings.js';
import type { InitializableComponent } from '../../../decorators/types.js';
import '../atomic-icon/atomic-icon.js';
import '../atomic-smart-snippet-answer/atomic-smart-snippet-answer';
/**
 * The `atomic-smart-snippet-expandable-answer` component displays an expandable smart snippet answer.
 *
 * @part truncated-answer - The container for the truncated answer content.
 * @part show-more-button - The button to expand the answer when collapsed.
 * @part show-less-button - The button to collapse the answer when expanded.
 *
 * @event expand - Emitted when the answer is expanded.
 * @event collapse - Emitted when the answer is collapsed.
 * @event selectInlineLink - Emitted when an inline link is selected.
 * @event beginDelayedSelectInlineLink - Emitted when a delayed selection begins for an inline link.
 * @event cancelPendingSelectInlineLink - Emitted when a pending selection is canceled for an inline link.
 *
 * @internal
 */
export declare class AtomicSmartSnippetExpandableAnswer extends LitElement implements InitializableComponent<AnyBindings> {
    static styles: import("lit").CSSResult;
    bindings: AnyBindings;
    error: Error;
    expanded: boolean;
    htmlContent: string;
    /**
     * 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
     * expandableAnswer.snippetStyle = `
     *   b {
     *     color: blue;
     *   }
     * `;
     * ```
     */
    snippetStyle?: string;
    private fullHeight?;
    private validateProps;
    initialize(): void;
    private get showButton();
    private get isExpanded();
    protected updated(changedProperties: PropertyValues): void;
    protected firstUpdated(_changedProperties: PropertyValues): Promise<void>;
    private establishInitialHeight;
    private handleExpand;
    private handleCollapse;
    private handleSelectInlineLink;
    private handleBeginDelayedSelectInlineLink;
    private handleCancelPendingSelectInlineLink;
    private renderAnswer;
    private renderButton;
    render(): import("lit-html").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'atomic-smart-snippet-expandable-answer': AtomicSmartSnippetExpandableAnswer;
    }
}
