import { PromptModule, ModuleConfig } from './prompt-module.interface.js';
/**
 * Communication module — defines how agents communicate across channels.
 *
 * Consolidates message routing (Slack, Chat UI, NOTIFY markers),
 * reply formatting, notification protocol, and thread-aware messaging
 * into a single module. Orchestrators get the full communication spec;
 * workers get a compact report-status-only version.
 *
 * Sources: orchestrator prompt.md §Chat & Slack Communication,
 *          §Notification Protocol, §Markdown Content, §Communication Channels,
 *          tool-registry reply_slack.
 */
export declare class CommunicationModule implements PromptModule {
    name: string;
    priority: number;
    maxTokens: number;
    compactable: boolean;
    /**
     * Always included — every agent communicates.
     */
    shouldInclude(_config: ModuleConfig): boolean;
    /**
     * Build the communication section.
     * Orchestrators and TLs get full Slack/Chat/NOTIFY instructions.
     * Workers get a compact version focused on report-status and send-message.
     *
     * @param config - Module configuration with agent details
     * @returns Formatted markdown communication section
     */
    build(config: ModuleConfig): Promise<string>;
    /**
     * Build a skill call example snippet. For gemini-cli runtime, uses CLI flags
     * to avoid shell escaping EOF errors entirely. For other runtimes, uses
     * inline JSON argument.
     *
     * CLI flags approach eliminates ALL quoting issues — each flag value is a
     * simple double-quoted string, no JSON nesting, no single-quote matching.
     *
     * @param config - Module configuration with runtime type
     * @param skillPath - Relative path to the skill (e.g., 'core/report-status')
     * @param jsonExample - Example JSON string for inline mode (non-gemini)
     * @param cliExample - Optional CLI flags example for gemini-cli mode
     * @param basePath - Optional base path override (defaults to config.agentSkillsPath).
     *                   Use config.tlSkillsPath for team-leader skills like delegate-task.
     * @returns Formatted bash code block
     */
    private buildSkillExample;
    /**
     * Full orchestrator communication spec — Slack, Chat UI, NOTIFY markers,
     * thread management, message formatting, and notification protocol.
     *
     * Per orc-namespace convention (skill SKILL.md frontmatter excludes
     * orchestrator from `assignableRoles` on send-message + recall + etc.):
     * orc has its own send-message wrapper at `config/skills/orchestrator/send-message/`
     * that routes through `/terminal/{session}/deliver` (readiness-aware,
     * two-step delivery, retry) instead of the agent-side
     * `/terminal/{session}/write` (raw PTY buffer write, no readiness, no
     * Enter semantics). Rendering the agent-skills path here would let orc
     * fall back to `/write` and miss orc-specific routing — the exact
     * "ORC was using WRONG send-message skill" gotcha recorded in the
     * project knowledge base on 2026-05-05.
     *
     * Spec provenance: 4-piece skill-mistake fix dispatch piece #2
     * (Sam→Quinn, post-PR #446 merge).
     */
    private buildOrchestratorComms;
    /**
     * Build a bash example using an orc-namespaced skill path (vs the agent-side
     * `core/<skill>` path used by {@link buildSkillExample}). Mirrors
     * `buildSkillExample` for shape consistency but resolves the path under
     * `config/skills/orchestrator/<skill>/` and never falls back to a heredoc
     * since orc-namespaced skills are uniformly CLI-flag-friendly.
     *
     * Spec provenance: 4-piece skill-mistake fix dispatch piece #2.
     *
     * @param orchestratorSkillsPath - Absolute path to `config/skills/orchestrator/`
     * @param skillName - Skill directory name under the orc-namespace (e.g. `send-message`)
     * @param jsonExample - Inline JSON example for non-gemini runtimes
     * @param cliExample - CLI flags example for gemini-cli runtimes
     * @param runtimeType - Runtime type to choose JSON vs CLI rendering
     * @returns Formatted bash code block invoking the orc-namespaced skill
     */
    private buildOrcSkillExample;
    /**
     * Build the body of the orchestrator Communication section. Split out from
     * {@link buildOrchestratorComms} so the per-piece example construction stays
     * isolated from the long Slack/Chat/NOTIFY markdown body.
     */
    private buildOrchestratorCommsBody;
    /**
     * TL communication — delegation-focused messaging plus basic user comms.
     */
    private buildTLComms;
    /**
     * Worker communication — compact report-status and send-message only.
     */
    private buildWorkerComms;
}
//# sourceMappingURL=communication.module.d.ts.map