import { PropertyValues } from 'lit';
import { AppTypes } from './types/app.types';
import { RealtimeAppEventType, RealtimeMessageEventType, RealtimeReactionEventType } from './types/realtime.types';
import { default as WyConversation } from './components/wy-conversation';
import { Constructor } from './types/generic.types';
import { WeavyContextProps } from './types/weavy.types';

declare const WyChat_base: Constructor<import('./mixins/app-mixin').AppProps & import('./mixins/app-mixin').AppContextProps & import('./mixins/app-mixin').AppSettingProps & import('./types/features.types').FeatureProps> & typeof WyConversation;
export declare class WyChat extends WyChat_base {
    static styles: import('lit').CSSResult[];
    appType: AppTypes;
    /**
     * Event: New message created.
     * @event wy:message_created
     */
    realtimeMessageCreatedEvent: (realtimeEvent: RealtimeMessageEventType) => void;
    /**
     * Event: Message reaction added.
     * @event wy:reaction_added
     */
    realtimeReactionAddedEvent: (realtimeEvent: RealtimeReactionEventType) => void;
    /**
     * Event: Message reaction removed.
     * @event wy:reaction_removed
     */
    realtimeReactionRemovedEvent: (realtimeEvent: RealtimeReactionEventType) => void;
    /**
     * Event: Conversation app details updated.
     * @event wy:app_updated
     */
    realtimeAppUpdatedEvent: (realtimeEvent: RealtimeAppEventType) => void;
    private conversationQuery;
    constructor();
    protected willUpdate(changedProperties: PropertyValues<this & WeavyContextProps>): Promise<void>;
    private unsubscribeToChatRealtime;
    render(): import('lit-html').TemplateResult<1>;
    disconnectedCallback(): void;
}
export type WyChatType = Constructor<WyChat>;
export {};
//# sourceMappingURL=wy-chat.d.ts.map