import type { CardElement } from 'chat';
export interface SuspendComponent {
    type: string;
    text?: string;
    label?: string;
    value?: string;
    style?: string;
    url?: string;
    altText?: string;
    placeholder?: string;
    button?: {
        label: string;
        value: string;
        style?: string;
    };
    options?: Array<{
        label: string;
        value: string;
        description?: string;
    }>;
    fields?: Array<{
        label: string;
        value: string;
    }>;
    elements?: Array<{
        type: string;
        text?: string;
        url?: string;
        altText?: string;
    }>;
    id?: string;
    [key: string]: unknown;
}
interface SuspendPayload {
    title?: string;
    message?: string;
    components: SuspendComponent[];
}
export declare class ComponentMapper {
    toCard(payload: SuspendPayload, runId: string, toolCallId: string, resumeSchema?: unknown, shortenCallback?: (actionId: string, value: string) => Promise<{
        id: string;
        value: string;
    }>, platform?: string): Promise<CardElement>;
    private appendComponent;
    private appendSection;
    private appendImage;
    private appendContext;
    private appendSelect;
    private appendRadioSelect;
    private appendFields;
    private toSelectOptions;
    private wrapValueForSchema;
    toCardOrMarkdown(message: unknown): Promise<unknown>;
    private appendMarkdownChild;
    private appendMarkdownContext;
}
export {};
