namespace ov::op::v3

namespace v3 {

// classes

class Acosh;
class Asinh;
class Assign;
class Atanh;
class Broadcast;
class Bucketize;
class EmbeddingBagOffsetsSum;
class EmbeddingBagPackedSum;
class EmbeddingSegmentsSum;
class ExtractImagePatches;
class GRUCell;
class NonMaxSuppression;
class NonZero;
class ROIAlign;
class ReadValue;
class ScatterElementsUpdate;
class ScatterNDUpdate;
class ScatterUpdate;
class ShapeOf;
class TopK;

// global functions

template <, >
std::vector<TRShape>const Assign \*const std::vector<TShape>& shape_infer(
    ,

    );

template <, >
std::vector<TRShape>const ov::op::v3::Broadcast \*const std::vector<T>&const ITensorAccessor& shape_infer(
    ,
    ,

    );

template <, >
std::vector<TRShape>const Bucketize \*const std::vector<TShape>& shape_infer(
    ,

    );

template <, >
std::vector<TRShape>const EmbeddingSegmentsSum \*const std::vector<TShape>&const ITensorAccessor& shape_infer(
    ,
    ,

    );

template <, >
std::vector<TRShape>const ExtractImagePatches \*const std::vector<T>& shape_infer(
    ,

    );

template <, >
std::vector<TRShape>const GRUCell \*const std::vector<TShape>& shape_infer(
    ,

    );

template <, >
std::vector<TRShape>const NonMaxSuppression \*const std::vector<T>&const ITensorAccessor& shape_infer(
    ,
    ,

    );

template <, >
std::vector<TRShape>const ROIAlign \*const std::vector<TShape>& shape_infer(
    ,

    );

template <, >
std::vector<TRShape>const ShapeOf \*const std::vector<TShape>& shape_infer(
    ,

    );

} // namespace v3