/**
 * notifications/slack-adapter.ts
 *
 * SlackNotificationAdapter — the `NotificationChannelAdapter` for
 * `type: "slack"`. Posts notification content to arbitrary team channels via
 * the @AILF App bot token and `chat.postMessage`. Unlike the webhook
 * `SlackSink` (one channel bound to a single `SLACK_WEBHOOK_URL`), this
 * targets any channel the bot has been invited to.
 *
 * `chat.postMessage` returns HTTP 200 even on logical failures, carrying the
 * real status in the body's `ok` / `error` fields. A `not_in_channel` error
 * maps to a `skipped` outcome — the fix is "invite the bot", which reads
 * differently from a genuine `failed`. The adapter never throws: a rejected
 * fetch or a non-2xx response becomes a `failed` outcome the service records.
 *
 * @see packages/core/src/ports/notification.ts — the port this implements
 * @see packages/core/src/notifications/slack/factory.ts — the Block Kit factory
 */
import { type ChannelDelivery, type DeliveryOutcome, type NotificationChannelAdapter, type NotificationContent } from "../_vendor/ailf-core/index.d.ts";
export declare class SlackNotificationAdapter implements NotificationChannelAdapter {
    private readonly token;
    private readonly dashboardBaseUrl;
    readonly type: "slack";
    constructor(token: string, dashboardBaseUrl: string);
    deliver(target: ChannelDelivery, content: NotificationContent): Promise<DeliveryOutcome>;
}
