import { FormFieldsParameter, IDataObject, IExecuteFunctions, INodeExecutionData, IWebhookFunctions } from 'n8n-workflow';
export type FormResponseTypeOptions = {
    messageButtonLabel?: string;
    responseFormTitle?: string;
    responseFormDescription?: string;
    responseFormButtonLabel?: string;
    responseFormCustomCss?: string;
};
export type SendAndWaitConfig = {
    title: string;
    message: string;
    options: Array<{
        label: string;
        url: string;
        style: string;
    }>;
    appendAttribution?: boolean;
};
export type FormTriggerInput = {
    isSelect?: boolean;
    isMultiSelect?: boolean;
    isTextarea?: boolean;
    isFileInput?: boolean;
    isInput?: boolean;
    label: string;
    defaultValue?: string;
    id: string;
    errorId: string;
    type?: 'text' | 'number' | 'date';
    inputRequired: 'form-required' | '';
    selectOptions?: string[];
    multiSelectOptions?: Array<{
        id: string;
        label: string;
    }>;
    acceptFileTypes?: string;
    multipleFiles?: 'multiple' | '';
    placeholder?: string;
};
export type FormTriggerData = {
    testRun: boolean;
    formTitle: string;
    formDescription?: string;
    formDescriptionMetadata?: string;
    formSubmittedHeader?: string;
    formSubmittedText?: string;
    redirectUrl?: string;
    n8nWebsiteLink: string;
    formFields: FormTriggerInput[];
    useResponseData?: boolean;
    appendAttribution?: boolean;
    buttonLabel?: string;
    dangerousCustomCss?: string;
};
export declare function sanitizeCustomCss(css: string | undefined): string | undefined;
export declare function createDescriptionMetadata(description: string): string;
export declare function prepareFormData({ formTitle, formDescription, formSubmittedHeader, formSubmittedText, redirectUrl, formFields, testRun, query, instanceId, useResponseData, appendAttribution, buttonLabel, customCss, }: {
    formTitle: string;
    formDescription: string;
    formSubmittedText: string | undefined;
    redirectUrl: string | undefined;
    formFields: FormFieldsParameter;
    testRun: boolean;
    query: IDataObject;
    instanceId?: string;
    useResponseData?: boolean;
    appendAttribution?: boolean;
    buttonLabel?: string;
    formSubmittedHeader?: string;
    customCss?: string;
}): FormTriggerData;
export declare function getResolvables(expression: string): string[];
export declare function resolveRawData(context: IWebhookFunctions, rawData: string): string;
export declare function addFormResponseDataToReturnItem(returnItem: INodeExecutionData, formFields: FormFieldsParameter, bodyData: IDataObject): void;
export declare function prepareFormReturnItem(context: IWebhookFunctions, formFields: FormFieldsParameter, mode: 'test' | 'production', useWorkflowTimezone?: boolean): Promise<INodeExecutionData>;
export declare function escapeHtml(text: string): string;
export declare function getSendAndWaitConfig(context: IExecuteFunctions | IWebhookFunctions): SendAndWaitConfig;
export declare function createSendAndWaitMessageBody(context: IExecuteFunctions, disableValues?: {
    disabled: boolean;
    disabledTips: string;
}): string;
export declare function configureWaitTillDate(context: IExecuteFunctions): Date;
export declare function sendAndWaitWebhook(this: IWebhookFunctions): Promise<{
    noWebhookResponse: boolean;
    webhookResponse?: undefined;
    workflowData?: undefined;
} | {
    webhookResponse: string;
    workflowData: {
        json: {
            data: {
                text: IDataObject | import("n8n-workflow").GenericValue | import("n8n-workflow").GenericValue[] | IDataObject[];
                messageId: any;
            };
        };
    }[][];
    noWebhookResponse?: undefined;
} | {
    webhookResponse: string;
    workflowData: INodeExecutionData[][];
    noWebhookResponse?: undefined;
} | {
    webhookResponse: string;
    workflowData: {
        json: {
            data: {
                approved: boolean;
                messageId: any;
            };
        };
    }[][];
    noWebhookResponse?: undefined;
}>;
