import { LitElement, CSSResultGroup } from 'lit';
/**
 * Login form component for email/password authentication.
 *
 * This is a pure UI component that emits events for login attempts.
 * The actual authentication logic should be handled by the parent component.
 *
 * Supports two views:
 * - **login**: Default login form with email and password fields.
 * - **forgot-password**: Password reset request form with email field only.
 *
 * @summary Login form with email and password fields, including forgot password flow.
 *
 * @tagname pd-login
 *
 * @event login-attempt - Fired when user submits valid credentials. Detail: `LoginAttemptDetail`.
 * @event forgot-password-attempt - Fired when user requests password reset. Detail: `ForgotPasswordAttemptDetail`.
 * @event view-change - Fired when the form switches between the login and forgot-password views. Detail: `ViewChangeDetail`. The owner should clear any externally controlled `errorMessage` in response, since it belongs to the view being left.
 *
 * @cssprop --pd-login-bg-color - Form background color. Default: `var(--pd-default-bg-light-col)`.
 * @cssprop --pd-login-border-radius - Form border radius. Default: `var(--pd-radius-md)`.
 * @cssprop --pd-login-max-width - Maximum width of the form. Default: `500px`.
 * @cssprop --pd-login-padding - Form padding. Default: `1rem 0 1rem 1rem`.
 */
export declare class PdLogin extends LitElement {
    /** Shows loading state on the submit button. */
    loading: boolean;
    /** Error message to display. */
    errorMessage: string;
    /** Success message to display (e.g., after password reset request). */
    successMessage: string;
    /** Hide the forgot password link. */
    hideForgotPassword: boolean;
    /** Current view: login form or forgot password form (internal). */
    private _view;
    private _validForm;
    private _forgotPasswordValidForm;
    private _prefillEmail;
    /** @ignore */
    private _formElement;
    /** @ignore */
    private _forgotPasswordFormElement;
    static styles: CSSResultGroup;
    render(): import('lit').TemplateResult<1>;
    private _renderLoginView;
    private _renderForgotPasswordView;
    /** Clears the form and resets validation state. */
    clear(): void;
    private _handleFormChange;
    private _handleSubmit;
    /**
     * Central view switch. Emits `view-change` so the owner can clear the
     * externally controlled `errorMessage` (which belongs to the view being
     * left). The component never mutates `errorMessage` itself.
     */
    private _setView;
    private _handleForgotPassword;
    private _handleForgotPasswordFormChange;
    private _handleForgotPasswordSubmit;
    private _handleBackToLogin;
    /** Switch to forgot password view. */
    showForgotPassword(): void;
    /** Switch back to login view. */
    showLogin(): void;
}
//# sourceMappingURL=PdLogin.d.ts.map