import { LitElement, PropertyValues } from 'lit';
import { AppTypes, AppType } from './types/app.types';
import { RealtimeCommentEventType, RealtimeReactionEventType } from './types/realtime.types';
import { WeavyContextProps } from './types/weavy.types';
import { Constructor } from './types/generic.types';

declare const WyComments_base: Constructor<import('./mixins/app-mixin').AppProps & import('./mixins/app-mixin').AppContextProps & import('./mixins/app-mixin').AppSettingProps & import('./types/features.types').FeatureProps> & typeof LitElement;
export declare class WyComments extends WyComments_base {
    static styles: import('lit').CSSResult[];
    appType: AppTypes;
    cssClass?: string;
    /**
     * Event: New comment created.
     * @event wy:comment_created
     */
    realtimeCommentCreatedEvent: (realtimeEvent: RealtimeCommentEventType) => CustomEvent<RealtimeCommentEventType>;
    /**
     * Event: Comment reaction added.
     * @event wy:reaction_added
     */
    realtimeReactionAddedEvent: (realtimeEvent: RealtimeReactionEventType) => CustomEvent<RealtimeReactionEventType>;
    /**
     * Event: Comment reaction removed.
     * @event wy:reaction_removed
     */
    realtimeReactionRemovedEvent: (realtimeEvent: RealtimeReactionEventType) => CustomEvent<RealtimeReactionEventType>;
    constructor();
    handleRealtimeCommentCreated: (realtimeEvent: RealtimeCommentEventType) => void;
    handleRealtimeReactionAdded: (realtimeEvent: RealtimeReactionEventType) => void;
    handleRealtimeReactionDeleted: (realtimeEvent: RealtimeReactionEventType) => void;
    private unsubscribeToRealtime;
    willUpdate(changedProperties: PropertyValues<this & WeavyContextProps & {
        app: AppType;
    }>): void;
    render(): import('lit-html').TemplateResult<1>;
    disconnectedCallback(): void;
}
export type WyCommentsType = Constructor<WyComments>;
export {};
//# sourceMappingURL=wy-comments.d.ts.map