import * as i0 from '@angular/core';
import { Provider } from '@angular/core';
import { CheckboxRequiredValidator, MaxValidator, MinValidator } from '@angular/forms';

/**
 * @description
 * Provider which adds `SYN_MIN_VALIDATOR` to the `NG_VALIDATORS` multi-provider list.
 */
declare const SYN_MIN_VALIDATOR: Provider;
/**
 *  A directive which installs the {@link SynMinValidator} for a syn-input with `formControlName`,
 * `formControl`, or control with `ngModel` that also has a `min` attribute.
 *
 * @usageNotes
 *
 * ### Adding a min validator
 *
 * The following example shows how to add a min validator to a syn-input attached to an
 * ngModel binding.
 *
 * ```html
 * <syn-input type="number" ngModel min="1"></syn-input>
 * ```
 */
declare class SynMinValidator extends MinValidator {
    static ɵfac: i0.ɵɵFactoryDeclaration<SynMinValidator, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<SynMinValidator, "syn-input[type=number][min][formControlName],syn-input[type=number][min][formControl],syn-input[type=number][min][ngModel]", never, {}, {}, never, never, false, never>;
}
/**
 * @description
 * Provider which adds `SynMaxValidator` to the `NG_VALIDATORS` multi-provider list.
 */
declare const SYN_MAX_VALIDATOR: Provider;
/**
 * A directive which installs the {@link SynMaxValidator} for a syn-input with `formControlName`,
 * `formControl`, or control with `ngModel` that also has a `max` attribute.
 *
 * @usageNotes
 *
 * ### Adding a max validator
 *
 * The following example shows how to add a max validator to a syn-input attached to an
 * ngModel binding.
 *
 * ```html
 * <syn-input type="number" ngModel max="4"></syn-input>
 * ```
 */
declare class SynMaxValidator extends MaxValidator {
    static ɵfac: i0.ɵɵFactoryDeclaration<SynMaxValidator, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<SynMaxValidator, "syn-input[type=number][max][formControlName],syn-input[type=number][max][formControl],syn-input[type=number][max][ngModel]", never, {}, {}, never, never, false, never>;
}
/**
 * @description
 * Provider which adds `SynCheckboxRequiredValidator` to the `NG_VALIDATORS` multi-provider list.
 */
declare const SYN_CHECKBOX_REQUIRED_VALIDATOR: Provider;
/**
 * A Directive that adds the `required` validator to syn-checkbox controls marked with the
 * `required` attribute. The directive is provided with the `NG_VALIDATORS` multi-provider list.
 *
 * ### Adding a required syn-checkbox validator using template-driven forms
 *
 * The following example shows how to add a checkbox required validator to an input attached to an
 * ngModel binding.
 *
 * ```
 * <syn-checkbox ngModel required></syn-checkbox>
 * ```
 */
declare class SynCheckboxRequiredValidator extends CheckboxRequiredValidator {
    static ɵfac: i0.ɵɵFactoryDeclaration<SynCheckboxRequiredValidator, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<SynCheckboxRequiredValidator, "syn-checkbox[required][formControlName],syn-checkbox[required][formControl],syn-checkbox[required][ngModel]", never, {}, {}, never, never, false, never>;
}
declare class SynergyValidatorsModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<SynergyValidatorsModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<SynergyValidatorsModule, [typeof SynMinValidator, typeof SynMaxValidator, typeof SynCheckboxRequiredValidator], never, [typeof SynMinValidator, typeof SynMaxValidator, typeof SynCheckboxRequiredValidator]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<SynergyValidatorsModule>;
}

export { SYN_CHECKBOX_REQUIRED_VALIDATOR, SYN_MAX_VALIDATOR, SYN_MIN_VALIDATOR, SynCheckboxRequiredValidator, SynMaxValidator, SynMinValidator, SynergyValidatorsModule };
