import { EventEmitter, OnInit, OnChanges, SimpleChanges } from '@angular/core';
import { ReactionValue } from '../../../services/feedback/types';
import { ContentReactionMetadata, ContentReactionState, ReactionSubmitEvent, ReactionChangeEvent } from './types';
import * as i0 from "@angular/core";
/**
 * Componente para reacciones de contenido con emojis.
 *
 * @example
 * ```html
 * <val-content-reaction
 *   [props]="{
 *     entityRef: { entityType: 'article', entityId: 'art-123' },
 *     question: '¿Te fue útil este artículo?'
 *   }"
 *   (reactionSubmit)="onReactionSubmit($event)"
 * />
 * ```
 */
export declare class ContentReactionComponent implements OnInit, OnChanges {
    private feedbackService;
    private toast;
    private i18n;
    private auth;
    readonly isConfigured: import("@angular/core").Signal<boolean>;
    props: Partial<ContentReactionMetadata>;
    reactionSubmit: EventEmitter<ReactionSubmitEvent>;
    reactionChange: EventEmitter<ReactionChangeEvent>;
    state: import("@angular/core").WritableSignal<ContentReactionState>;
    readonly defaultEmojis: [string, string, string];
    readonly defaultLabels: [string, string, string];
    resolvedProps: import("@angular/core").Signal<{
        entityRef: import("../../../services/feedback/types").EntityRef;
        question: string;
        showComment: boolean;
        commentOnValues: ReactionValue[];
        commentPlaceholder: string;
        maxCommentLength: number;
        emojis: [string, string] | [string, string, string];
        emojiLabels: [string, string] | [string, string, string];
        showThankYou: boolean;
        thankYouMessage: string;
        disabled: boolean;
        readonly: boolean;
        variant: "buttons" | "emoji";
    }>;
    readonly activeReactionValues: import("@angular/core").Signal<ReactionValue[]>;
    showCommentField: import("@angular/core").Signal<boolean>;
    canSubmit: import("@angular/core").Signal<boolean>;
    constructor();
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    private loadPreviousReaction;
    selectReaction(value: ReactionValue): void;
    submitReaction(): Promise<void>;
    updateComment(event: CustomEvent): void;
    getEmoji(index: number): string;
    getEmojiLabel(index: number): string;
    isSelected(value: ReactionValue): boolean;
    t(key: string): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<ContentReactionComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ContentReactionComponent, "val-content-reaction", never, { "props": { "alias": "props"; "required": false; }; }, { "reactionSubmit": "reactionSubmit"; "reactionChange": "reactionChange"; }, never, never, true, never>;
}
