import { IRenderer, ISpecification, IStackeable } from '../../api';
import { AbstractDecorator } from "./AbstractDecorator";
/**
 * The rating decorator adds two rating buttons (like, dislike)
 * after each system conversation output,
 * to allow users to give feedback.
 */
export declare class RatingDecorator extends AbstractDecorator {
    private readonly renderStrategy;
    constructor(renderer: IRenderer, renderStrategy?: RatingRenderStrategy);
    /**
     * Appends a rating to eligible interaction root containers. A container is eligible for rating rendering if
     * the rating markup element is specified and the enabled attribute is not set to false. A container is also
     * eligible for rating rendering if no rating markup element is specified and ratingsEnabledByDefault is set to
     * true.
     *
     * @param renderable the renderable specification which was received
     * @param parentContainer the parent container of the current renderable
     */
    render(renderable: ISpecification, parentContainer?: IStackeable): HTMLElement[];
    private shouldRenderRatingFor;
    private static isRootContainerOfInteraction;
}
export declare enum RatingRenderStrategy {
    ALL_EXCEPT_DISABLED_RATINGS = 0,
    ONLY_ENABLED_RATINGS = 1
}
