#ifndef SERVICES_WEBNN_PUBLIC_MOJOM_WEBNN_GRAPH_MOJOM_FORWARD_H_
#define SERVICES_WEBNN_PUBLIC_MOJOM_WEBNN_GRAPH_MOJOM_FORWARD_H_
#include <stdint.h>
#include "mojo/public/cpp/bindings/struct_forward.h"
#include "mojo/public/cpp/bindings/deprecated_interface_types_forward.h"
#include "mojo/public/interfaces/bindings/native_struct.mojom-forward.h"
namespace webnn::mojom {
class OperandDescriptorDataView;
class OperandDataView;
class ArgMinMaxDataView;
class BatchNormalizationDataView;
class ClampDataView;
class ConcatDataView;
class Size2dDataView;
class Padding2dDataView;
class Conv2dDataView;
class ElementWiseBinaryDataView;
class ElementWiseUnaryDataView;
class ExpandDataView;
class ConstantPaddingDataView;
class EdgePaddingDataView;
class ReflectionPaddingDataView;
class SymmetricPaddingDataView;
class InstanceNormalizationDataView;
class MatmulDataView;
class PadDataView;
class ReduceDataView;
class Pool2dDataView;
class StartAndSizeDataView;
class SliceDataView;
class EluDataView;
class GatherDataView;
class GatherElementsDataView;
class GeluDataView;
class GruDataView;
class GruCellDataView;
class GemmDataView;
class HardSigmoidDataView;
class HardSwishDataView;
class LayerNormalizationDataView;
class LeakyReluDataView;
class LinearDataView;
class LstmDataView;
class LstmCellDataView;
class PreluDataView;
class ReluDataView;
class ReshapeDataView;
class SigmoidDataView;
class SoftmaxDataView;
class SoftplusDataView;
class SoftsignDataView;
class SplitDataView;
class TanhDataView;
class TransposeDataView;
class TriangularDataView;
class Resample2dDataView;
class WhereDataView;
class GraphInfoDataView;
class PaddingModeDataView;
class OperationDataView;
class ComputeResultDataView;
enum class DataType : int32_t;
enum class RecurrentNetworkActivation : int32_t;
enum class RecurrentNetworkDirection : int32_t;
enum class GruWeightLayout : int32_t;
enum class LstmWeightLayout : int32_t;
enum class Operand_Kind : int32_t;
enum class ArgMinMax_Kind : int32_t;
enum class Conv2d_Kind : int32_t;
enum class ElementWiseBinary_Kind : int32_t;
enum class ElementWiseUnary_Kind : int32_t;
enum class Reduce_Kind : int32_t;
enum class Pool2d_Kind : int32_t;
enum class Resample2d_InterpolationMode : int32_t;
class OperandDescriptor;
OperandDescriptorPtr;
class Operand;
OperandPtr;
class ArgMinMax;
ArgMinMaxPtr;
class BatchNormalization;
BatchNormalizationPtr;
class Clamp;
ClampPtr;
class Concat;
ConcatPtr;
class Size2d;
Size2dPtr;
class Padding2d;
Padding2dPtr;
class Conv2d;
Conv2dPtr;
class ElementWiseBinary;
ElementWiseBinaryPtr;
class ElementWiseUnary;
ElementWiseUnaryPtr;
class Expand;
ExpandPtr;
class ConstantPadding;
ConstantPaddingPtr;
class EdgePadding;
EdgePaddingPtr;
class ReflectionPadding;
ReflectionPaddingPtr;
class SymmetricPadding;
SymmetricPaddingPtr;
class InstanceNormalization;
InstanceNormalizationPtr;
class Matmul;
MatmulPtr;
class Pad;
PadPtr;
class Reduce;
ReducePtr;
class Pool2d;
Pool2dPtr;
class StartAndSize;
StartAndSizePtr;
class Slice;
SlicePtr;
class Elu;
EluPtr;
class Gather;
GatherPtr;
class GatherElements;
GatherElementsPtr;
class Gelu;
GeluPtr;
class Gru;
GruPtr;
class GruCell;
GruCellPtr;
class Gemm;
GemmPtr;
class HardSigmoid;
HardSigmoidPtr;
class HardSwish;
HardSwishPtr;
class LayerNormalization;
LayerNormalizationPtr;
class LeakyRelu;
LeakyReluPtr;
class Linear;
LinearPtr;
class Lstm;
LstmPtr;
class LstmCell;
LstmCellPtr;
class Prelu;
PreluPtr;
class Relu;
ReluPtr;
class Reshape;
ReshapePtr;
class Sigmoid;
SigmoidPtr;
class Softmax;
SoftmaxPtr;
class Softplus;
SoftplusPtr;
class Softsign;
SoftsignPtr;
class Split;
SplitPtr;
class Tanh;
TanhPtr;
class Transpose;
TransposePtr;
class Triangular;
TriangularPtr;
class Resample2d;
Resample2dPtr;
class Where;
WherePtr;
class GraphInfo;
GraphInfoPtr;
class PaddingMode;
PaddingModePtr;
class Operation;
OperationPtr;
class ComputeResult;
ComputeResultPtr;
class WebNNGraph;
}
#endif