import type { PlatformAdapter } from '../platform/index.js'; /** Feature gate: turn-completion notification is ON by default. Opt out by setting * CORTEX_TURN_NOTIFY to a falsy value (0 / false / off / no). */ export declare function isTurnNotifyEnabled(): boolean; /** Minimum turn duration (seconds) before a completion notification is pushed. * Configurable via CORTEX_TURN_NOTIFY_THRESHOLD_S; defaults to 60s. A non-positive * or unparseable value falls back to the default. */ export declare function getTurnNotifyThresholdS(): number; /** Push a NEW message to the conversation's channel when a long-running, user-initiated * turn finishes — so the user gets an actual push notification (editing the status * message to "✓ Done" does not notify on Slack or Feishu). Works for both Slack and * Feishu through the PlatformAdapter abstraction (Composite fans out to both). * * Gated by: feature flag, interactive-channel scope, and a duration threshold. * Never throws — a failed notification must not affect the main turn. */ export declare function maybeNotifyTurnComplete(params: { adapter: PlatformAdapter; channel: string; threadAnchorId: string | null; sessionName: string | null; sessionId: string | null; elapsedS: number; elapsedStr: string; status: 'completed' | 'failed'; metricsSuffix?: string; }): Promise;