import { PropertyDeclarations, TemplateResult } from 'lit-element'; import { Dialog } from '../../private/Dialog/Dialog'; import { FormRenderer } from './types'; import { BooleanSelector } from '@foxy.io/sdk/core'; /** * Dialog wrapper for the forms made with NucleonElement. * * @fires FormDialog#show - Instance of `FormDialog.ShowEvent`. Dispatched after dialog finishes entry transition. * @fires FormDialog#hide - Instance of `FormDialog.HideEvent`. Dispatched after dialog finishes exit transition. * * @element foxy-form-dialog * @since 1.1.0 */ export declare class FormDialog extends Dialog { /** @readonly */ static get properties(): PropertyDeclarations; /** If true, FormDialog won't show the confirmation dialog when the form is dirty. */ noConfirmWhenDirty: boolean; /** If true, FormDialog will automatically close after the associated form updates the resource. */ closeOnPatch: boolean; /** If true, FormDialog won't automatically close after the associated form deletes the resource. */ keepOpenOnDelete: boolean; /** If true, FormDialog won't automatically close after the associated form creates a resource. */ keepOpenOnPost: boolean; /** Optional URI list of the related resources (passed to form). */ related: string[]; /** Optional URL of the collection this resource belongs to (passed to form). */ parent: string; /** Properties to set on the form element using the `spread()` helper. */ props: Record; group: string; /** Optional URL of the resource to load (passed to form). */ href: string; private __form; private __renderForm; private __handleFetch; private __handleUpdate; get hiddenSelector(): BooleanSelector; /** * Form's custom element tag. Generated custom element will have the following attributes: * * - `parent` – same as `foxy-form-dialog[parent]`; * - `href` – same as `foxy-form-dialog[href]`; * - `lang` – same as `foxy-form-dialog[lang]`; */ get form(): string | null | FormRenderer; set form(value: string | null | FormRenderer); /** @readonly */ render(): TemplateResult; hide(cancelled?: boolean): Promise; /** Submits the form. */ save(): Promise; }