/** * Adaptive Card payload limits for Teams. * * Teams caps an Adaptive Card attachment at ~28 KB of JSON and renders only a * handful of top-level actions comfortably. These ceilings keep a rendered card * inside those bounds; the renderer clamps collections and truncates text to * them rather than emitting an oversized card Teams would reject. */ export declare const TEAMS_LIMITS: { /** Top-level body elements (TextBlocks, FactSets, Tables, etc.) per card. */ readonly bodyElements: 100; /** Top-level `Action.Submit`s. Teams shows ~6 before overflowing. */ readonly actions: 6; /** Characters of text in a single TextBlock. */ readonly textBlock: 12000; readonly factTitle: 200; readonly factValue: 2000; readonly factsPerSet: 50; readonly buttonText: 256; readonly tableColumns: 12; readonly tableRows: 100; readonly cellText: 2000; readonly choices: 100; readonly choiceLabel: 256; /** Data points (categories / slices) in a single chart. */ readonly chartDataPoints: 50; /** Characters of a chart title or a data point's label. */ readonly chartTitle: 200; readonly chartLabel: 200; }; /** Truncate to `max` chars, appending an ellipsis if the input was longer. Never returns >max. */ export declare function truncateText(text: string, max: number): string; /** Clamp an array to `max` items; return the kept items plus how many overflowed. */ export declare function clampArray(items: readonly T[], max: number): { items: T[]; overflow: number; }; //# sourceMappingURL=budget.d.ts.map