export type InlineComponent = {
    type: 'button';
    label: string;
    value: string;
    style?: 'primary' | 'danger';
    confirm?: {
        title: string;
        text: string;
        confirm: string;
        deny: string;
    };
} | {
    type: 'select';
    label: string;
    options: Array<{
        label: string;
        value: string;
    }>;
} | {
    type: 'section';
    text: string;
    button?: {
        label: string;
        value: string;
        style?: 'primary' | 'danger';
    };
    image?: {
        url: string;
        alt: string;
    };
} | {
    type: 'divider';
} | {
    type: 'image';
    url: string;
    alt: string;
} | {
    type: 'context';
    elements: Array<{
        type: 'text';
        text: string;
    } | {
        type: 'image';
        url: string;
        alt: string;
    }>;
};
export type FormComponent = {
    type: 'text-input';
    id: string;
    label: string;
    placeholder?: string;
    multiline?: boolean;
} | {
    type: 'select-input';
    id: string;
    label: string;
    options: Array<{
        label: string;
        value: string;
    }>;
};
export type SuspendComponent = InlineComponent | FormComponent;
export interface RichSuspendPayload {
    message?: string;
    components: SuspendComponent[];
    formTitle?: string;
}
export interface ComponentResumeData {
    values: Record<string, string>;
}
