import { ElementRef, Renderer2, InputSignal } from "@angular/core";
import type { BuilderBlock } from "../../../types/builder-block";
import type { BuilderComponentsProp, BuilderDataProps, BuilderLinkComponentProp } from "../../../types/builder-props";
import type { Dictionary } from "../../../types/typescript";
import * as i0 from "@angular/core";
/**
 * This import is used by the Svelte SDK. Do not remove.
 */
export type FormProps = BuilderDataProps & BuilderComponentsProp & BuilderLinkComponentProp & {
    attributes?: any;
    name?: string;
    action?: string;
    validate?: boolean;
    method?: string;
    sendSubmissionsTo?: string;
    sendSubmissionsToEmail?: string;
    sendWithJs?: boolean;
    contentType?: string;
    customHeaders?: {
        [key: string]: string;
    };
    successUrl?: string;
    previewState?: FormState;
    successMessage?: BuilderBlock[];
    errorMessage?: BuilderBlock[];
    sendingMessage?: BuilderBlock[];
    resetFormOnSubmit?: boolean;
    errorMessagePath?: string;
    children?: any;
};
/**
 * This import is used by the Svelte SDK. Do not remove.
 */
export type FormState = "unsubmitted" | "sending" | "success" | "error";
export default class FormComponent {
    private renderer;
    builderContext: InputSignal<FormProps["builderContext"]>;
    previewState: InputSignal<FormProps["previewState"]>;
    sendWithJs: InputSignal<FormProps["sendWithJs"]>;
    sendSubmissionsTo: InputSignal<FormProps["sendSubmissionsTo"]>;
    action: InputSignal<FormProps["action"]>;
    customHeaders: InputSignal<FormProps["customHeaders"]>;
    contentType: InputSignal<FormProps["contentType"]>;
    sendSubmissionsToEmail: InputSignal<FormProps["sendSubmissionsToEmail"]>;
    name: InputSignal<FormProps["name"]>;
    method: InputSignal<FormProps["method"]>;
    errorMessagePath: InputSignal<FormProps["errorMessagePath"]>;
    resetFormOnSubmit: InputSignal<FormProps["resetFormOnSubmit"]>;
    successUrl: InputSignal<FormProps["successUrl"]>;
    validate: InputSignal<FormProps["validate"]>;
    attributes: InputSignal<FormProps["attributes"]>;
    errorMessage: InputSignal<FormProps["errorMessage"]>;
    sendingMessage: InputSignal<FormProps["sendingMessage"]>;
    successMessage: InputSignal<FormProps["successMessage"]>;
    formRef: import("@angular/core").Signal<ElementRef<any>>;
    elRef0: import("@angular/core").Signal<ElementRef<any>>;
    formState: import("@angular/core").WritableSignal<string>;
    responseData: import("@angular/core").WritableSignal<any>;
    formErrorMessage: import("@angular/core").WritableSignal<string>;
    _listenerFns: Map<any, any>;
    mergeNewRootState(newData: Dictionary<any>): void;
    submissionState(): string;
    errorResponse(response: any): string;
    onSubmit(event: any): void;
    setAttributes(el: HTMLElement, value: any, changes?: any): void;
    constructor(renderer: Renderer2);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<FormComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FormComponent, "form-component", never, { "builderContext": { "alias": "builderContext"; "required": false; "isSignal": true; }; "previewState": { "alias": "previewState"; "required": false; "isSignal": true; }; "sendWithJs": { "alias": "sendWithJs"; "required": false; "isSignal": true; }; "sendSubmissionsTo": { "alias": "sendSubmissionsTo"; "required": false; "isSignal": true; }; "action": { "alias": "action"; "required": false; "isSignal": true; }; "customHeaders": { "alias": "customHeaders"; "required": false; "isSignal": true; }; "contentType": { "alias": "contentType"; "required": false; "isSignal": true; }; "sendSubmissionsToEmail": { "alias": "sendSubmissionsToEmail"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "method": { "alias": "method"; "required": false; "isSignal": true; }; "errorMessagePath": { "alias": "errorMessagePath"; "required": false; "isSignal": true; }; "resetFormOnSubmit": { "alias": "resetFormOnSubmit"; "required": false; "isSignal": true; }; "successUrl": { "alias": "successUrl"; "required": false; "isSignal": true; }; "validate": { "alias": "validate"; "required": false; "isSignal": true; }; "attributes": { "alias": "attributes"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "sendingMessage": { "alias": "sendingMessage"; "required": false; "isSignal": true; }; "successMessage": { "alias": "successMessage"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
}
