UNPKG

@nickbusey/thelounge

Version:

The self-hosted Web IRC client

38 lines (37 loc) 1.45 kB
import type { Database } from "sqlite3"; import Msg, { Message } from "../../models/msg"; import Client from "../../client"; import Chan, { Channel } from "../../models/chan"; import type { SearchResponse, SearchQuery, SqliteMessageStorage as ISqliteMessageStorage } from "./types"; import Network from "../../models/network"; declare class Deferred { resolve: () => void; promise: Promise<void>; constructor(); } declare class SqliteMessageStorage implements ISqliteMessageStorage { client: Client; isEnabled: boolean; database: Database; initDone: Deferred; constructor(client: Client); _enable(): Promise<void>; enable(): Promise<void>; run_migrations(): Promise<void>; close(): Promise<void>; index(network: Network, channel: Chan, msg: Msg): Promise<void>; deleteChannel(network: Network, channel: Channel): Promise<void>; /** * Load messages for given channel on a given network and resolve a promise with loaded messages. * * @param network Network - Network object where the channel is * @param channel Channel - Channel object for which to load messages for */ getMessages(network: Network, channel: Channel): Promise<Message[]>; search(query: SearchQuery): Promise<SearchResponse>; canProvideMessages(): boolean; private serialize_run; private serialize_fetchall; private serialize_get; } export default SqliteMessageStorage;