import type { Channel, ChannelMessage, Context } from "@/types"; import type { ChannelMessagesRepository } from "../../storage/channelMessagesRepository.js"; import type { ChannelsRepository } from "../../storage/channelsRepository.js"; import type { AgentSystem } from "../agents/agentSystem.js"; import type { Signals } from "../signals/signals.js"; export type ChannelsOptions = { signals: Pick; agentSystem: Pick; } & ({ channels: Pick; channelMessages: Pick; } | { configDir: string; }); export declare class Channels { private readonly channels; private readonly channelMessages; private readonly signals; private readonly agentSystem; private readonly items; constructor(options: ChannelsOptions); ensureDir(): Promise; /** * Loads channels from SQLite and replays signal subscriptions for members. */ load(): Promise; list(): Channel[]; get(name: string): Channel | null; create(name: string, leaderAgentId: string): Promise; delete(name: string): Promise; addMember(channelName: string, ctx: Context, username: string): Promise; removeMember(channelName: string, ctx: Context): Promise; send(channelName: string, senderUsername: string, text: string, mentions: string[]): Promise<{ message: ChannelMessage; deliveredAgentIds: string[]; }>; getHistory(channelName: string, limit?: number): Promise; private channelRequire; } //# sourceMappingURL=channels.d.ts.map