/** * @license * Copyright 2023 Google LLC * SPDX-License-Identifier: Apache-2.0 */ /** * A class that computes and caches `ValidityStateFlags` for a component with * a given `State` interface. * * Cached performance before computing validity is important since constraint * validation must be checked frequently and synchronously when properties * change. * * @template State The expected interface of properties relevant to constraint * validation. */ export declare abstract class Validator { private readonly getCurrentState; /** * The previous state, used to determine if state changed and validation needs * to be re-computed. */ private prevState?; /** * The current validity state and message. This is cached and returns if * constraint validation state does not change. */ private currentValidity; /** * Creates a new validator. * * @param getCurrentState A callback that returns the current state of * constraint validation-related properties. */ constructor(getCurrentState: () => State); /** * Returns the current `ValidityStateFlags` and validation message for the * validator. * * If the constraint validation state has not changed, this will return a * cached result. This is important since `getValidity()` can be called * frequently in response to synchronous property changes. * * @return The current validity and validation message. */ getValidity(): ValidityAndMessage; /** * Computes the `ValidityStateFlags` and validation message for a given set * of constraint validation properties. * * Implementations can use platform elements like `` and `