import { LitElement, CSSResultGroup, HTMLTemplateResult } from 'lit'; /** Event name fired when form is submitted with valid data */ export declare const EVENT_FORM_SUBMIT = "pd-form-submit"; export declare abstract class PdFormDialog extends LitElement { /** Form data object - managed by subclass */ protected abstract _formData: T; /** Dialog title text */ protected abstract _dialogTitle: string; /** Text for the save/submit button */ saveButtonText: string; /** Text for the cancel button */ cancelButtonText: string; /** Whether to show required field info text */ showRequiredFieldInfo: boolean; /** Timeout in ms to disable save button after submit (prevents double-submit) */ submitDisableTimeout: number; /** Enable closing with Escape key */ closeByEscape: boolean; /** Enable closing by clicking the backdrop overlay */ closeByBackdrop: boolean; /** Block body scroll when dialog is open */ blockScroll: boolean; /** Whether the form is currently valid */ protected _validForm: boolean; /** Common validation error message to display */ protected _validationError?: string; /** Internal button configuration */ private _buttons; /** Track whether this instance has locked body scroll */ private _scrollBlocked; private _formContainer; static styles: CSSResultGroup; constructor(); connectedCallback(): void; disconnectedCallback(): void; render(): import('lit').TemplateResult<1>; /** Render the form fields content */ protected abstract _renderContent(): HTMLTemplateResult; /** * Additional validation beyond form field validation. * Return true if form data is valid. */ protected abstract _isValidFormData(): boolean; /** Reset the form to initial state */ reset(): void; /** * Handle button click events. * Can be overridden for custom behavior. */ protected _handleButtonClick(e: CustomEvent<{ button: string; }>): void; private _initializeButtons; private _getButtons; private _handleFormChange; private _disableSaveButtonTemporarily; } //# sourceMappingURL=PdFormDialog.d.ts.map