import { SlackAlertBlock, SlackButtonElement, SlackCardBlock, SlackCarouselBlock, SlackContextBlock, SlackDataTableBlock, SlackDataTableCell, SlackImageBlock, SlackSectionBlock, SlackTextObject } from "./types.js"; //#region src/slack/constants.d.ts /** The block limit for a Slack message. */ export declare const MESSAGE_BLOCK_CAP = 50; /** The block limit for a Slack modal. */ export declare const MODAL_BLOCK_CAP = 100; /** * The maximum number of top-level blocks accepted when parsing Slack Block * Kit JSON back into generative UI, guarding against a hostile or malformed * payload. */ export declare const INBOUND_BLOCK_CAP = 200; /** The character limit for header text. */ export declare const HEADER_TEXT_CAP = 150; /** The character limit for section text. */ export declare const SECTION_TEXT_CAP = 3000; /** The maximum number of fields in one section. */ export declare const FACT_FIELD_CAP = 10; /** The character limit for one section field. */ export declare const FACT_FIELD_TEXT_CAP = 2000; /** The character limit for button labels and option labels. */ export declare const INTERACTIVE_TEXT_CAP = 75; /** The character limit for an action_id. */ export declare const ACTION_ID_CAP = 255; /** The character limit for a button's serialized value payload. */ export declare const BUTTON_VALUE_CAP = 2000; /** The maximum number of elements in one actions block. */ export declare const ACTIONS_ELEMENT_CAP = 25; /** The maximum number of options in a static select. */ export declare const SELECT_OPTION_CAP = 100; /** The maximum number of options in a radio-button group. */ export declare const RADIO_OPTION_CAP = 10; /** The character limit for a select or input placeholder. */ export declare const PLACEHOLDER_TEXT_CAP = 150; /** The character limit for an input's label. */ export declare const INPUT_LABEL_CAP = 2000; /** The maximum number of elements in one context block. */ export declare const CONTEXT_ELEMENT_CAP = 10; /** The character limit for one context element's text. */ export declare const CONTEXT_TEXT_CAP = 3000; /** The character limit for card titles and subtitles. */ export declare const CARD_TITLE_CAP = 150; /** The character limit for a card's body text. */ export declare const CARD_BODY_CAP = 200; /** The character limit for a card's subtext. */ export declare const CARD_SUBTEXT_CAP = 200; /** The maximum number of buttons in a card's actions. */ export declare const CARD_ACTIONS_CAP = 3; /** The minimum number of elements in a renderable carousel. */ export declare const CAROUSEL_CARD_MIN = 1; /** The maximum number of elements in a carousel. */ export declare const CAROUSEL_CARD_CAP = 10; /** The character limit for an alert's text. */ export declare const ALERT_TEXT_CAP = 200; /** * The maximum number of data rows in a data-table block; the emitted `rows` * array additionally carries one header row. */ export declare const DATA_TABLE_ROW_CAP = 200; /** The maximum number of columns in a data-table block. */ export declare const DATA_TABLE_COLUMN_CAP = 20; /** * The cumulative character limit (summed across every cell's text) shared by * every data-table block in one payload. */ export declare const DATA_TABLE_CHAR_BUDGET = 20000; /** The caption emitted on every native data-table block. */ export declare const TABLE_CAPTION = "Table"; /** The cumulative character limit for native markdown blocks. */ export declare const MARKDOWN_TEXT_BUDGET = 12000; /** Builds the message-surface fallback for an alert. */ export declare function buildAlertFallback(title: string, description: string, tone: "info" | "success" | "warning" | "danger"): readonly [SlackContextBlock, SlackSectionBlock]; /** Builds a 2026 Slack modal-only alert block, mapping `tone` to its `level`. */ export declare function buildAlertBlock(text: string, tone: "info" | "success" | "warning" | "danger"): SlackAlertBlock; type CardBlockFields = { readonly heroImage?: SlackImageBlock; readonly title?: SlackTextObject; readonly subtitle?: SlackTextObject; readonly body?: SlackTextObject; readonly subtext?: SlackTextObject; readonly actions?: readonly SlackButtonElement[]; }; /** Builds a 2026 Slack card block from its already-clamped fields. */ export declare function buildCardBlock(fields: CardBlockFields): SlackCardBlock; /** Builds a 2026 Slack carousel block. */ export declare function buildCarouselBlock(elements: readonly SlackCardBlock[]): SlackCarouselBlock; /** Builds a 2026 Slack data-table block; `rows[0]` must be the header row. */ export declare function buildDataTableBlock(rows: readonly (readonly SlackDataTableCell[])[]): SlackDataTableBlock; /** Builds the final note used when a surface block budget is exceeded. */ export declare function buildBlockBudgetNote(omitted: number): SlackContextBlock; //#endregion //# sourceMappingURL=constants.d.ts.map