import { EventEmitter } from 'events';
import { GatewayConfig, Platform } from './config';
import { PlatformAdapter } from './platform-registry';
import { SessionStore } from './session';
import './platforms/webhook';
import './platforms/telegram';
import './platforms/feishu';
import './platforms/dingtalk';
import './platforms/wecom';
import './platforms/qqbot';
import { AgentConfig } from '../types';
export declare class GatewayRunner extends EventEmitter {
    private _config;
    private _adapters;
    private _sessionStore;
    private _deliveryRouter;
    private _agentCache;
    private _running;
    private _agentConfig;
    constructor(config: GatewayConfig, agentConfig: AgentConfig);
    get running(): boolean;
    get adapters(): Map<Platform, PlatformAdapter>;
    get sessionStore(): SessionStore;
    start(): Promise<boolean>;
    stop(): Promise<void>;
    private readonly _slashCommands;
    private _handleMessage;
    private _getOrCreateAgent;
    private _evictOldestAgent;
    private _startCacheSweeper;
    listSessions(): import("./session").SessionEntry[];
    resetSession(sessionKey: string): import("./session").SessionEntry | undefined;
}
export declare function startGateway(agentConfig: AgentConfig, config?: GatewayConfig): Promise<GatewayRunner>;
//# sourceMappingURL=gateway-runner.d.ts.map