/**
 * Regex to detect Slack IDs: C (public channel), G (private channel), U/W (user/DM)
 * @example
 * const isSlackId = SLACK_ID_REGEX.test('C1234567890');
 * const isSlackId = SLACK_ID_REGEX.test('G1234567890');
 * const isSlackId = SLACK_ID_REGEX.test('U1234567890');
 * const isSlackId = SLACK_ID_REGEX.test('W1234567890');
 */
export declare const SLACK_ID_REGEX: RegExp;
/**
 * Slack error codes that indicate the installation is broken and won't be fixed by retrying.
 * These are expected for orgs with invalid/revoked tokens - we handle them gracefully
 * without spamming Sentry.
 */
export declare const UNRECOVERABLE_SLACK_ERRORS: readonly ["account_inactive", "invalid_auth", "missing_scope", "channel_not_found", "not_in_channel", "is_archived"];
/**
 * Extracts the Slack error code from an error object.
 * Slack API errors have the format: { data: { error: 'error_code' } }
 */
export declare const getSlackErrorCode: (error: unknown) => string | undefined;
/**
 * Checks if a Slack error is unrecoverable (installation is broken).
 */
export declare const isUnrecoverableSlackError: (error: unknown) => boolean;
/**
 * Whether a Slack error is the message being too large to deliver — a delivery
 * failure, not a generation failure.
 */
export declare const isSlackMessageTooLongError: (error: unknown) => boolean;
/**
 * Checks if a Slack error is a rate limit error.
 * These errors have a special code from the @slack/web-api package.
 */
export declare const isSlackRateLimitedError: (error: unknown) => boolean;
/**
 * User-facing translations for common Slack API error codes. Surfaced in
 * scheduler logs so the delivery recipient gets an actionable explanation
 * instead of a raw API code. The raw code is also recorded as
 * `details.slackErrorCode` for debugging.
 */
export declare const SLACK_USER_FACING_ERROR_MESSAGES: Record<string, string>;
/**
 * Translates a Slack error into an actionable, user-facing message.
 * Returns null when no translation applies — callers should fall back to their
 * default error message in that case.
 */
export declare const translateSlackError: (error: unknown) => {
    error: string;
    slackErrorCode: string;
} | null;
//# sourceMappingURL=slack.d.ts.map