namespace ov::op::internal

namespace internal {

// classes

class AUGRUCell;
class AUGRUSequence;
class GenerateProposalsIEInternal;
class MulticlassNmsIEInternal;
template <typename BaseNmsOp>
class NmsStaticShapeIE;
class NonMaxSuppressionIEInternal;

// global functions

template <class ShapeType, class TRShape = result_shape_t<ShapeType>>
std::vector<TRShape> shape_infer(
    const ov::op::internal::AUGRUCell \* op,
    const std::vector<ShapeType>& input_shapes
    );

template <class ShapeType, class TRShape = result_shape_t<ShapeType>>
std::vector<TRShape> shape_infer(
    const ov::op::internal::AUGRUSequence \* op,
    const std::vector<ShapeType>& input_shapes
    );

} // namespace internal