/**
 * Slack Alert Channel
 *
 * Sends security alerts to Slack via webhooks.
 * Supports rich message formatting with attachments.
 *
 * @packageDocumentation
 * @module security/alerting/channels/slack
 */
import { type SecurityAlert } from '../types.js';
import { HttpAlertChannel, type HttpChannelConfig } from './http-base.js';
import type { SendInternalResult } from './base.js';
export interface SlackChannelConfig extends HttpChannelConfig {
    /** Slack webhook URL */
    webhookUrl: string;
    /** Default channel to post to (can be overridden by webhook) */
    defaultChannel?: string;
    /** Bot username */
    username?: string;
    /** Bot icon emoji */
    iconEmoji?: string;
    /** Include full context in message */
    includeFullContext?: boolean;
}
/**
 * Slack webhook integration for security alerts
 */
export declare class SlackAlertChannel extends HttpAlertChannel {
    protected readonly channelType: "slack";
    protected readonly channelName = "Slack";
    protected readonly logger: import("pino").Logger<never>;
    private readonly webhookUrl;
    private readonly defaultChannel;
    private readonly username;
    private readonly iconEmoji;
    private readonly includeFullContext;
    constructor(config: SlackChannelConfig);
    /**
     * Send an alert to Slack
     */
    protected sendInternal(alert: SecurityAlert): Promise<SendInternalResult>;
    /**
     * Format alert as Slack message
     */
    private formatMessage;
    /**
     * Test the Slack connection
     */
    test(): Promise<boolean>;
}
/**
 * Create a new Slack alert channel
 */
export declare function createSlackChannel(config: SlackChannelConfig): SlackAlertChannel;
//# sourceMappingURL=slack.d.ts.map