/*
 * Copyright (c) 2023 - 2025 Chair for Design Automation, TUM
 * Copyright (c) 2025 Munich Quantum Software Company GmbH
 * All rights reserved.
 *
 * SPDX-License-Identifier: MIT
 *
 * Licensed under the MIT License
 */

#pragma once

namespace qasm3 {
struct DebugInfo;
class Statement;
class IfStatement;
class IdentifierList;
class MeasureExpression;
class GateCallStatement;
class GateDeclaration;
class BarrierStatement;
class ResetStatement;
class AssignmentStatement;
class VersionDeclaration;
class DeclarationExpression;
class DeclarationStatement;
class IndexOperator;
class IndexedIdentifier;
class GateOperand;
class GateModifier;
class QuantumStatement;
class InitialLayout;
class OutputPermutation;
class Expression;
class Constant;
class BinaryExpression;
class UnaryExpression;
class IdentifierExpression;
} // namespace qasm3
