import { type AttachedResults, type Result } from '@coveo/headless/insight';
import { LitElement } from 'lit';
import type { InsightBindings } from '../atomic-insight-interface/atomic-insight-interface';
import type { InitializableComponent } from '../../../decorators/types';
export interface InsightResultAttachToCaseEvent {
    callback: () => void;
    result: Result;
}
declare const AtomicInsightResultAttachToCaseAction_base: import("../../../mixins/mixin-common").Constructor<{
    injectStyles(dynamicStyles?: import("lit").CSSResultGroup): Promise<void>;
}> & typeof LitElement;
/**
 * The `atomic-insight-result-attach-to-case-action` component can be nested
 * inside a `atomic-insight-result-actions` to render an interactive button
 * that will emit an `atomic/insight/attachToCase/attach` or
 * `atomic/insight/attachToCase/detach` JavaScript event, based on its current
 * state, when clicked.
 *
 * @part result-action-container - The result action container
 * @part result-action-button - The result action button
 * @part result-action-icon - The result action icon
 */
export declare class AtomicInsightResultAttachToCaseAction extends AtomicInsightResultAttachToCaseAction_base implements InitializableComponent<InsightBindings> {
    bindings: InsightBindings;
    error: Error;
    attachedResults: AttachedResults;
    private attachedResultsState;
    private itemContextController;
    constructor();
    private get result();
    initialize(): void;
    private onClick;
    private getIcon;
    private getTooltip;
    render(): typeof import("lit-html").nothing | import("lit-html").TemplateResult;
}
declare global {
    interface HTMLElementTagNameMap {
        'atomic-insight-result-attach-to-case-action': AtomicInsightResultAttachToCaseAction;
    }
}
export {};
