import { LitElement } from "lit";
export declare namespace Form {
    export type Method = "GET" | "get" | "POST" | "post" | "dialog";
    export type Enctype = "application/x-www-form-urlencoded" | "multipart/form-data" | "text/plain";
    export type Target = "_self" | "_blank" | "_parent" | "_top";
    export type SubmittableElement = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
    const ELEMENT_base: typeof LitElement & import("../../mixins/SlottedMixin").AnyConstructor<import("../../mixins/SlottedMixin").SlotableClass & import("../../mixins/SlottedMixin").SlotableInterface>;
    export class ELEMENT extends ELEMENT_base {
        rel: string;
        name: string;
        action: string;
        label: string;
        method: Method;
        target: Target;
        enctype: Enctype;
        novalidate: boolean;
        charset: string;
        isvalid: boolean;
        token: string;
        allowRedirect: boolean;
        autofillname: string;
        protected form: HTMLFormElement;
        private formElement;
        private get formMethod();
        private isSubmittable;
        private isDisabled;
        private findSubmittable;
        private validated;
        handleSubmit: (event: Event) => void;
        handleFormSubmit: (event: Event) => void;
        private submitForm;
        private get submitButton();
        disconnectedCallback(): void;
        private deleteWrappedForm;
        private cleanupWrappedForms;
        private createWrappedForm;
        private teardownEvents;
        private setupEvents;
        private setupSubmittable;
        protected slottedChanged(): void;
        render(): import("lit-html").TemplateResult<1>;
    }
    export {};
}
declare global {
    interface HTMLElementTagNameMap {
        "md-form": Form.ELEMENT;
    }
}
