import { LitElement } from 'lit'; import { AbstractConstructor } from './constructor.ts'; import { SbbElementInternalsMixinType } from './element-internals-mixin.ts'; declare global { /** * Defines custom validity state properties. */ interface CustomValidityState { } interface ValidityState extends CustomValidityState { } interface ValidityStateFlags extends Partial { } } export declare abstract class SbbFormAssociatedMixinType { get form(): HTMLFormElement | null; accessor name: string; get type(): string; abstract accessor value: unknown; get validity(): ValidityState; get validationMessage(): string; get willValidate(): boolean; protected formDisabled: boolean; checkValidity(): boolean; reportValidity(): boolean; setCustomValidity(message: string): void; formAssociatedCallback?(form: HTMLFormElement | null): void; formDisabledCallback(disabled: boolean): void; abstract formResetCallback(): void; abstract formStateRestoreCallback(state: FormRestoreState | null, reason: FormRestoreReason): void; protected updateFormValue(): void; protected formState?(): FormRestoreState; protected setValidityFlag(flag: T, message: string, flagValue?: ValidityStateFlags[T]): void; protected removeValidityFlag(flag: T): void; protected validate(): void; protected shouldValidate(name: PropertyKey | undefined): boolean; } /** * The FormAssociatedMixin enables native form support for custom controls. */ export declare const SbbFormAssociatedMixin: >(superClass: T) => AbstractConstructor & T; /** * A value to be restored for a component's form value. If a component's form * state is a `FormData` object, its entry list of name and values will be * provided. */ export type FormRestoreState = string | FormData | File; /** * The reason a form component is being restored for, either `'restore'` for * browser restoration or `'autocomplete'` for restoring user values. */ export type FormRestoreReason = 'restore' | 'autocomplete'; //# sourceMappingURL=form-associated-mixin.d.ts.map