import { CallToolResult } from "@modelcontextprotocol/sdk/types";
import { ImageMetadataBlock } from "./shared/types";
/**
 * Represents a ClickUp text item which can be plain text or an image
 */
export interface ClickUpTextItem {
    text?: string;
    type?: string;
    image?: {
        id?: string;
        name?: string;
        title?: string;
        type?: string;
        extension?: string;
        thumbnail_large?: string;
        thumbnail_medium?: string;
        thumbnail_small?: string;
        url: string;
        uploaded?: boolean;
    };
    attributes?: any;
}
/**
 * Represents a ClickUp attachment
 */
export interface ClickUpAttachment {
    thumbnail_large?: string;
    thumbnail_medium?: string;
    thumbnail_small?: string;
    url: string;
    [key: string]: any;
}
/**
 * Process an array of ClickUp text items into a structured content format
 * that includes both text and images in their original sequence
 *
 * @param textItems Array of text items from ClickUp API
 * @returns Promise resolving to an array of content blocks (text and images)
 */
export declare function convertClickUpTextItemsToToolCallResult(textItems: ClickUpTextItem[]): Promise<(CallToolResult["content"][number] | ImageMetadataBlock)[]>;
/**
 * Splits markdown text at image references and converts them to image blocks
 * @param markdownText The markdown text to process
 * @param attachments Array of attachments from the Clickup API
 * @returns Array of content blocks (text and images)
 */
export declare function convertMarkdownToToolCallResult(markdownText: string, attachments: ClickUpAttachment[] | null | undefined): (CallToolResult["content"][number] | ImageMetadataBlock)[];
/**
 * Represents a ClickUp comment block with formatting
 */
export interface ClickUpCommentBlock {
    text?: string;
    type?: string;
    attributes?: {
        bold?: boolean;
        italic?: boolean;
        code?: boolean;
        link?: string;
        'code-block'?: {
            'code-block': string;
        };
        header?: number;
        blockquote?: {};
        'blockquote-size'?: 'large';
        list?: {
            list: 'bullet' | 'ordered' | 'unchecked' | 'checked';
        };
        indent?: number;
        'block-id'?: string;
    };
    list?: {
        list: 'bullet' | 'ordered' | 'unchecked' | 'checked';
    };
}
/**
 * Convert markdown text to ClickUp comment blocks format using remark
 * Supports: headers, bold, italic, code, links, lists, blockquotes, code blocks
 *
 * @param markdown The markdown text to convert
 * @returns Array of ClickUp comment blocks
 */
export declare function convertMarkdownToClickUpBlocks(markdown: string): ClickUpCommentBlock[];
//# sourceMappingURL=clickup-text.d.ts.map