declare namespace Types {
    type Default = any[];
    type Nullable = Default | null;
    type Not = void;
}
declare namespace Array {
    type AssertsTemplate<R> = {
        array(value: unknown, message?: string): asserts value is R;
    };
    type ValueIsTemplate<R> = {
        array(value: unknown): value is R;
    };
}
declare namespace ArrayLength {
    type AssertsTemplate<R> = {
        arrayLength(value: unknown, expectedLength: number, message?: string): asserts value is R;
    };
    type ValueIsTemplate<R> = {
        arrayLength(value: unknown, expectedLength: number): value is R;
    };
}
declare namespace ArrayMinLength {
    type AssertsTemplate<R> = {
        arrayMinLength(value: unknown, limit: number, message?: string): asserts value is R;
    };
    type ValueIsTemplate<R> = {
        arrayMinLength(value: unknown, limit: number): value is R;
    };
}
declare namespace ArrayMaxLength {
    type AssertsTemplate<R> = {
        arrayMaxLength(value: unknown, limit: number, message?: string): asserts value is R;
    };
    type ValueIsTemplate<R> = {
        arrayMaxLength(value: unknown, limit: number): value is R;
    };
}
declare namespace ArrayLengthBetween {
    type AssertsTemplate<R> = {
        arrayLengthBetween(value: unknown, min: number, max: number, message?: string): asserts value is R;
    };
    type ValueIsTemplate<R> = {
        arrayLengthBetween(value: unknown, min: number, max: number): value is R;
    };
}
export declare namespace ArrayFunctions {
    namespace Asserts {
        type Default = Array.AssertsTemplate<Types.Default> & ArrayLength.AssertsTemplate<Types.Default> & ArrayMinLength.AssertsTemplate<Types.Default> & ArrayMaxLength.AssertsTemplate<Types.Default> & ArrayLengthBetween.AssertsTemplate<Types.Default>;
        type Nullable = Array.AssertsTemplate<Types.Nullable> & ArrayLength.AssertsTemplate<Types.Nullable> & ArrayMinLength.AssertsTemplate<Types.Nullable> & ArrayMaxLength.AssertsTemplate<Types.Nullable> & ArrayLengthBetween.AssertsTemplate<Types.Nullable>;
    }
    namespace ValueIs {
        type Default = Array.ValueIsTemplate<Types.Default> & ArrayLength.ValueIsTemplate<Types.Default> & ArrayMinLength.ValueIsTemplate<Types.Default> & ArrayMaxLength.ValueIsTemplate<Types.Default> & ArrayLengthBetween.ValueIsTemplate<Types.Default>;
        type Nullable = Array.ValueIsTemplate<Types.Nullable> & ArrayLength.ValueIsTemplate<Types.Nullable> & ArrayMinLength.ValueIsTemplate<Types.Nullable> & ArrayMaxLength.ValueIsTemplate<Types.Nullable> & ArrayLengthBetween.ValueIsTemplate<Types.Nullable>;
    }
}
export {};
