import { BlockContext } from './BlockContext'; import type { BlockRenderers } from './BlockRenderers'; import type { Conditions } from './Conditions'; import type { Block } from '../blocks/Block'; import type { BlockElement } from '../blocks/BlockElement'; import type { RenderableLayoutBlock } from '../blocks/RenderableLayoutBlock'; import type { TextObject } from '../blocks/TextObject'; import type { Markdown } from '../blocks/text/Markdown'; import type { PlainText } from '../blocks/text/PlainText'; export declare abstract class SurfaceRenderer implements BlockRenderers { protected readonly allowedLayoutBlockTypes: Set; constructor(allowedLayoutBlockTypes: TAllowedLayoutBlock['type'][]); private isAllowedLayoutBlock; render(blocks: readonly Block[], conditions?: Conditions): TOutputObject[]; renderTextObject(textObject: TextObject, index: number, context?: BlockContext): TOutputObject | null; renderActionsBlockElement(block: BlockElement, index: number): TOutputObject | null; renderContextBlockElement(block: TextObject | BlockElement, index: number): TOutputObject | null; renderInputBlockElement(block: BlockElement, index: number): TOutputObject | null; renderSectionAccessoryBlockElement(block: BlockElement, index: number): TOutputObject | null; abstract plain_text(textObject: PlainText, context: BlockContext, index: number): TOutputObject | null; abstract mrkdwn(textObject: Markdown, context: BlockContext, index: number): TOutputObject | null; } //# sourceMappingURL=SurfaceRenderer.d.ts.map