import { EventEmitter } from "../../stencil-public-runtime";
import { AxiosError } from "axios";
export type FormMethodType = 'GET' | 'POST';
export type FormEnctypeType = 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain' | 'application/json';
export type FormAutocompleteType = 'on' | 'off';
export declare class XForm {
    /**
     * Form element
     */
    private form;
    /**
     * Element action URL
     */
    action: string;
    /**
     * Element charset option
     */
    acceptCharset: string;
    /**
     * Element form method (GET ans POST only)
     */
    method: FormMethodType;
    /**
     * Element autocomplete option
     */
    autocomplete: FormAutocompleteType;
    /**
     * Element enctype option
     */
    enctype: FormEnctypeType;
    /**
     * Element request timeout
     */
    timeout: number;
    /**
     * Element append data
     */
    appendData: object;
    /**
     * Element append headers
     */
    appendHeaders: {
        [key: string]: string;
    };
    /**
     * Element dialog interval
     */
    dialogInterval: number;
    /**
     * Element without dialog on submit
     */
    withoutDialog: boolean;
    /**
     * Element without dialog on success response
     */
    withoutSuccessDialog: boolean;
    /**
     * Element without dialog on validation error
     */
    withoutValidationDialog: boolean;
    /**
     * Element response data
     */
    response: any;
    /**
     * Element submitter button
     */
    submitter: HTMLXButtonElement | null;
    /**
     * Submit event
     */
    success: EventEmitter;
    failed: EventEmitter;
    /**
     * Element reference
     */
    el: HTMLElement;
    /**
     * Submit event handler
     */
    onSubmit(e: SubmitEvent): void;
    /**
     * Catch error
     */
    catchError(err: AxiosError): void;
    /**
     * Alert error by status code
     */
    alertErrorByStatusCode(status: number, data: any): void;
    /**
     * On action
     */
    onAction(action: string): void;
    /**
     * On failed
     */
    onFailed(data: any): void;
    /**
     * On success
     */
    onSuccess(data: any): void;
    /**
     * Render the component
     */
    render(): any;
}
