import { ValidationRule } from "../validation/ValidationRule";
import { CommonValidatorBuilderImpl } from "./CommonValidatorBuilderImpl";
import { SizedIterableValidatorBuilder } from "./SizedIterableValidatorBuilder";
import { ValidationOptionsBuilder } from "./ValidationOptionsBuilder";
import { IterableValidationOptionsBuilder } from "./IterableValidationOptionsBuilder";
export declare class SizedIterableValidatorBuilderImpl<T, TProperty> extends CommonValidatorBuilderImpl<T, Iterable<TProperty>> implements SizedIterableValidatorBuilder<T, TProperty>, IterableValidationOptionsBuilder<T> {
    constructor(validationRule: ValidationRule<T, Iterable<TProperty>>);
    whenNotEmpty(): IterableValidationOptionsBuilder<T>;
    contains(element: TProperty): this & ValidationOptionsBuilder<T>;
    doesNotContain(element: TProperty): this & ValidationOptionsBuilder<T>;
    isEmpty(): this & ValidationOptionsBuilder<T>;
    isNotEmpty(): this & ValidationOptionsBuilder<T>;
    hasNumberOfElements(elementCount: number): this & ValidationOptionsBuilder<T>;
    hasMinNumberOfElements(minElementCount: number): this & ValidationOptionsBuilder<T>;
    hasMaxNumberOfElements(maxElementCount: number): this & ValidationOptionsBuilder<T>;
    hasNumberOfElementsBetween(minElementCount: number, maxElementCount: number): this & ValidationOptionsBuilder<T>;
}
