=encoding utf-8

=head1 NAME

JSON::TypeInference::Type - Classes of JSON types

=head1 DESCRIPTION

The implementations of JSON::TypeInference::Type represent types of JSON values.

They must implement some methods that described below.

=head1 INTERFACE

=head2 CLASS METHODS

=over 4

=item C<< accepts($data: Any) # => Bool >>

Returns whether the given value is valid as the class.

=item C<< name() # => Str >>

Returns a name of type.

=back

=head2 INSTANCE METHODS

=over 4

=item C<< signature() # => Str >>

Returns a signature of type.

If the type has some type parameters, the signature contains type parameters that sorted by name.

=back

=head1 LICENSE

Copyright (C) aereal.

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.

=head1 AUTHOR

aereal E<lt>aereal@aereal.orgE<gt>

=cut
