declare const ChatBoxBase_base: { new (...args: any[]): { disable_mam: boolean; initialize(): Promise; initNotifications(): void; notifications: Model; initUI(): void; ui: Model; getDisplayName(): string; canPostMessages(): boolean; createMessage(attrs: any, options: any): Promise; getMessagesCacheKey(): string; getMessagesCollection(): any; getNotificationsText(): any; initMessages(): void; messages: any; fetchMessages(): any; afterMessagesFetched(): void; onMessage(_attrs_or_error: import("./types.js").MessageAttributes | Error): Promise; getUpdatedMessageAttributes(message: import("./message.js").default, attrs: import("./types.js").MessageAttributes): object; updateMessage(message: import("./message.js").default, attrs: import("./types.js").MessageAttributes): void; handleCorrection(attrs: import("./types.js").MessageAttributes | import("../plugins/muc/types.js").MUCMessageAttributes): Promise | void>; queueMessage(attrs: import("./types.js").MessageAttributes): any; msg_chain: any; getOutgoingMessageAttributes(_attrs?: import("./types.js").MessageAttributes): Promise; sendMessage(attrs?: any): Promise>; retractOwnMessage(message: import("./message.js").default): void; sendFiles(files: File[]): Promise; setEditable(attrs: any, send_time: string): void; setChatState(state: string, options?: object): any; chat_state_timeout: NodeJS.Timeout; onMessageAdded(message: import("./message.js").default): void; onMessageUploadChanged(message: import("./message.js").default): Promise; onMessageCorrecting(message: import("./message.js").default): void; onScrolledChanged(): void; pruneHistoryWhenScrolledDown(): void; shouldShowErrorMessage(attrs: import("./types.js").MessageAttributes): Promise; clearMessages(): Promise; editEarlierMessage(): void; editLaterMessage(): any; isChatMessage(_message: import("./message.js").default): boolean; getOldestMessage(): import("./message.js").default; getMostRecentMessage(): import("./message.js").default; getMessageReferencedByError(attrs: object): any; findDanglingRetraction(attrs: object): import("./message.js").default | null; getDuplicateMessage(attrs: object): import("./message.js").default; getOriginIdQueryAttrs(attrs: object): { origin_id: any; from: any; }; getStanzaIdQueryAttrs(attrs: object): {}[]; getMessageBodyQueryAttrs(attrs: object): { from: any; msgid: any; }; sendMarkerForMessage(msg: import("./message.js").default, type?: ("received" | "displayed" | "acknowledged"), force?: boolean): Promise; handleUnreadMessage(message: import("./message.js").default): void; getErrorAttributesForMessage(message: import("./message.js").default, attrs: import("./types.js").MessageAttributes): Promise; handleErrorMessageStanza(stanza: Element): Promise; incrementUnreadMsgsCounter(message: import("./message.js").default): void; clearUnreadMsgCounter(): void; handleRetraction(attrs: import("./types.js").MessageAttributes): Promise; handleReceipt(attrs: import("./types.js").MessageAttributes): boolean; createMessageStanza(message: import("./message.js").default): Promise; pruneHistory(): void; debouncedPruneHistory: import("lodash").DebouncedFunc<() => void>; isScrolledUp(): any; isHidden(): boolean; cid: any; attributes: {}; validationError: string; collection: any; changed: {}; browserStorage: Storage; _browserStorage: Storage; readonly idAttribute: string; readonly cidPrefix: string; preinitialize(): void; validate(attrs: object, options?: object): string; toJSON(): any; sync(method: "create" | "update" | "patch" | "delete" | "read", model: Model, options: import("@converse/skeletor/src/types/model.js").Options): any; get(attr: string): any; keys(): string[]; values(): any[]; pairs(): [string, any][]; entries(): [string, any][]; invert(): any; pick(...args: any[]): any; omit(...args: any[]): any; isEmpty(): any; has(attr: string): boolean; matches(attrs: import("@converse/skeletor/src/types/model.js").Attributes): boolean; set(key: string | any, val?: string | any, options?: import("@converse/skeletor/src/types/model.js").Options): false | any; _changing: boolean; _previousAttributes: any; id: any; _pending: boolean | import("@converse/skeletor/src/types/model.js").Options; unset(attr: string, options?: import("@converse/skeletor/src/types/model.js").Options): false | any; clear(options: import("@converse/skeletor/src/types/model.js").Options): false | any; hasChanged(attr?: string): any; changedAttributes(diff: any): any; previous(attr?: string): any; previousAttributes(): any; fetch(options?: import("@converse/skeletor/src/types/model.js").Options): any; save(key?: string | import("@converse/skeletor/src/types/model.js").Attributes, val?: boolean | number | string | import("@converse/skeletor/src/types/model.js").Options, options?: import("@converse/skeletor/src/types/model.js").Options): any; destroy(options?: import("@converse/skeletor/src/types/model.js").Options): boolean; url(): any; parse(resp: import("@converse/skeletor/src/types/model.js").Options, options?: import("@converse/skeletor/src/types/model.js").Options): import("@converse/skeletor/src/types/model.js").Options; isNew(): boolean; isValid(options?: import("@converse/skeletor/src/types/model.js").Options): boolean; _validate(attrs: import("@converse/skeletor/src/types/model.js").Attributes, options?: import("@converse/skeletor/src/types/model.js").Options): boolean; on(name: string, callback: (event: any, model: Model, collection: import("@converse/skeletor").Collection, options: Record) => any, context: any): any; _events: any; _listeners: {}; listenTo(obj: any, name: string, callback?: (event: any, model: Model, collection: import("@converse/skeletor").Collection, options: Record) => any): any; _listeningTo: {}; _listenId: any; off(name: string, callback: (event: any, model: Model, collection: import("@converse/skeletor").Collection, options: Record) => any, context?: any): any; stopListening(obj?: any, name?: string, callback?: (event: any, model: Model, collection: import("@converse/skeletor").Collection, options: Record) => any): any; once(name: string, callback: (event: any, model: Model, collection: import("@converse/skeletor").Collection, options: Record) => any, context: any): any; listenToOnce(obj: any, name: string, callback?: (event: any, model: Model, collection: import("@converse/skeletor").Collection, options: Record) => any): any; trigger(name: string, ...args: any[]): any; constructor: Function; toString(): string; toLocaleString(): string; valueOf(): Object; hasOwnProperty(v: PropertyKey): boolean; isPrototypeOf(v: Object): boolean; propertyIsEnumerable(v: PropertyKey): boolean; }; } & typeof Model; /** * Base class for all chat boxes. Provides common methods. */ export default class ChatBoxBase extends ChatBoxBase_base { initialize(): Promise; validate(attrs: any): string; /** * @param {boolean} force */ maybeShow(force: boolean): this; /** * @param {Object} [_ev] */ close(_ev?: any): Promise; announceReconnection(): void; onReconnection(): Promise; } import { Model } from '@converse/skeletor'; export {}; //# sourceMappingURL=chatbox.d.ts.map