import { LitElement } from 'lit'; /** * Create account form data interface */ export interface CreateAccountData { email: string; password: string; confirmPassword: string; firstName?: string; lastName?: string; agreeToTerms?: boolean; } /** * USA Create Account Template * * Registration page template following USWDS patterns. * Composes name and email patterns with password fields. * * **Template Structure (from USWDS):** * - Skip navigation + Banner + Header * - Registration form in centered card * - Sign-in link for existing users * - Footer + Identifier * * @element usa-create-account-template * * @slot form-header - Custom content above the form * @slot form-fields - Additional form fields * @slot form-footer - Custom content below the form (terms, links) * @slot header - Site header * @slot footer - Site footer * * @fires {CustomEvent} create-account-submit - Fired when form is submitted * @fires {CustomEvent} template-ready - Fired when template initializes * * @example Basic usage * ```html * * ``` * * @uswds-template https://designsystem.digital.gov/templates/create-account-page/ */ export declare class USACreateAccountTemplate extends LitElement { protected createRenderRoot(): this; /** * Page language attribute */ lang: string; /** * Whether to show the government banner */ showBanner: boolean; /** * Whether to show the identifier at the bottom */ showIdentifier: boolean; /** * Page heading */ heading: string; /** * Form legend (accessibility) */ formLegend: string; /** * Whether to show name fields */ showNameFields: boolean; /** * Whether to show password requirements */ showPasswordRequirements: boolean; /** * Password requirements text */ passwordRequirementsText: string; /** * Whether to show terms checkbox */ showTerms: boolean; /** * Terms of service URL */ termsUrl: string; /** * Privacy policy URL */ privacyUrl: string; /** * Submit button text */ submitText: string; /** * Whether to show sign-in link */ showSignInLink: boolean; /** * Sign-in URL */ signInUrl: string; /** * Sign-in link text */ signInText: string; /** * Sign-in label text */ signInLabel: string; /** * Form action URL */ actionUrl: string; /** * Form method */ method: string; /** * Current form data state */ private formData; /** * Password mismatch error state */ private passwordMismatch; connectedCallback(): void; firstUpdated(changedProperties: Map): void; /** * Handle form field changes */ private handleFieldChange; /** * Handle form submission */ private handleSubmit; /** * Render name fields */ private renderNameFields; /** * Render the registration form */ private renderForm; render(): import('lit-html').TemplateResult<1>; /** * Public API: Get form data */ getFormData(): CreateAccountData; /** * Public API: Reset form */ resetForm(): void; /** * Public API: Validate form */ validateForm(): boolean; } //# sourceMappingURL=usa-create-account-template.d.ts.map