/** * `/dashboard ` command-group entry. * * The entire command group is restricted to the bot's resolved `allowedUsers`, * matching `/botconfig`. Any subcommand that bypasses this gate is a security * regression. Empty args default to `overview`; successful cards are DM'd to * the invoking admin and the topic receives only a short confirmation. */ import type { LarkMessage } from '../../types.js'; import type { CommandHandlerDeps } from '../command-handler.js'; import { type EnsureDashboardOwnerDeps } from './owner-gate.js'; import { type DashboardSettingsCommandDeps } from './settings.js'; import { type DashboardSessionsCommandDeps } from './sessions.js'; import { type DashboardSchedulesCommandDeps } from './schedules.js'; import { type DashboardOverviewCommandDeps } from './overview.js'; import { type DashboardGroupsCommandDeps } from './groups.js'; /** Optional test seam. Production omits these overrides. */ export interface DashboardCommandDeps extends EnsureDashboardOwnerDeps { /** Override for `sendUserMessage` (DM to invoking admin). Production omits. */ sendUserMessage?: (larkAppId: string, openId: string, content: string, msgType?: string) => Promise; settings?: DashboardSettingsCommandDeps; sessions?: DashboardSessionsCommandDeps; schedules?: DashboardSchedulesCommandDeps; overview?: DashboardOverviewCommandDeps; groups?: DashboardGroupsCommandDeps; } export declare function handleDashboardCommand(message: LarkMessage, args: string, rootId: string, _chatId: string, deps: CommandHandlerDeps, larkAppId?: string, testDeps?: DashboardCommandDeps): Promise; //# sourceMappingURL=index.d.ts.map