import { ArrayRule } from './array/array-types'; import { Guard, IGuardOptions } from '../core/guard'; import { GuardResult } from '../core/guard-result'; export declare class ArrayGuard extends Guard { constructor(options?: IGuardOptions); /** * Checks if array contains the specified value. * @remarks Chainable method. * @param value */ contains(value: unknown): this; /** * Checks if array's length is equal or smaller than the specified number. * @remarks Chainable method. * @param max */ hasMaxSize(max: number): this; /** * Checks if array's length is equal or greater than to the specified number. * @remarks Chainable method. * @param min */ hasMinSize(min: number): this; /** * Checks if array's length is equal to the specified number. * @remarks Chainable method. * @param value */ hasSize(value: number): this; /** * Checks if array is empty. * @remarks Chainable method. */ isEmpty(): this; /** * Checks if array is not empty. * @remarks Chainable method. */ isNotEmpty(): this; /** * @override * @param rule * @param value */ protected checkRule(rule: ArrayRule, value: unknown[]): GuardResult; /** * @override */ protected typeGuard(): void; }