// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
// swift-module-flags: -target x86_64-apple-macosx13.0 -enable-objc-interop -enable-library-evolution -module-link-name SwiftSyntaxMacros -swift-version 5 -O -module-abi-name CompilerSwiftSyntaxMacros -module-name SwiftSyntaxMacros
// swift-module-flags-ignorable: -user-module-version 5.9.2.2.56
import Swift
import SwiftDiagnostics
import SwiftSyntax
import SwiftSyntaxBuilder
import _Concurrency
import _SwiftConcurrencyShims
public protocol AccessorMacro : SwiftSyntaxMacros.AttachedMacro {
  static func expansion(of node: SwiftSyntax.AttributeSyntax, providingAccessorsOf declaration: some SwiftSyntax.DeclSyntaxProtocol, in context: some SwiftSyntaxMacros.MacroExpansionContext) throws -> [SwiftSyntax.AccessorDeclSyntax]
}
public protocol AttachedMacro : SwiftSyntaxMacros.Macro {
}
public protocol CodeItemMacro : SwiftSyntaxMacros.FreestandingMacro {
  static func expansion(of node: some SwiftSyntax.FreestandingMacroExpansionSyntax, in context: some SwiftSyntaxMacros.MacroExpansionContext) throws -> [SwiftSyntax.CodeBlockItemSyntax]
}
public protocol ConformanceMacro : SwiftSyntaxMacros.ExtensionMacro {
  static func expansion(of node: SwiftSyntax.AttributeSyntax, providingConformancesOf declaration: some SwiftSyntax.DeclGroupSyntax, in context: some SwiftSyntaxMacros.MacroExpansionContext) throws -> [(SwiftSyntax.TypeSyntax, SwiftSyntax.GenericWhereClauseSyntax?)]
}
extension SwiftSyntaxMacros.ConformanceMacro {
  public static func expansion(of node: SwiftSyntax.AttributeSyntax, attachedTo declaration: some SwiftSyntax.DeclGroupSyntax, providingExtensionsOf type: some SwiftSyntax.TypeSyntaxProtocol, conformingTo protocols: [SwiftSyntax.TypeSyntax], in context: some SwiftSyntaxMacros.MacroExpansionContext) throws -> [SwiftSyntax.ExtensionDeclSyntax]
}
public protocol DeclarationMacro : SwiftSyntaxMacros.FreestandingMacro {
  static func expansion(of node: some SwiftSyntax.FreestandingMacroExpansionSyntax, in context: some SwiftSyntaxMacros.MacroExpansionContext) throws -> [SwiftSyntax.DeclSyntax]
  static var propagateFreestandingMacroAttributes: Swift.Bool { get }
  static var propagateFreestandingMacroModifiers: Swift.Bool { get }
}
extension SwiftSyntaxMacros.DeclarationMacro {
  public static var propagateFreestandingMacroAttributes: Swift.Bool {
    get
  }
  public static var propagateFreestandingMacroModifiers: Swift.Bool {
    get
  }
}
public protocol ExpressionMacro : SwiftSyntaxMacros.FreestandingMacro {
  static func expansion(of node: some SwiftSyntax.FreestandingMacroExpansionSyntax, in context: some SwiftSyntaxMacros.MacroExpansionContext) throws -> SwiftSyntax.ExprSyntax
}
public protocol ExtensionMacro : SwiftSyntaxMacros.AttachedMacro {
  static func expansion(of node: SwiftSyntax.AttributeSyntax, attachedTo declaration: some SwiftSyntax.DeclGroupSyntax, providingExtensionsOf type: some SwiftSyntax.TypeSyntaxProtocol, conformingTo protocols: [SwiftSyntax.TypeSyntax], in context: some SwiftSyntaxMacros.MacroExpansionContext) throws -> [SwiftSyntax.ExtensionDeclSyntax]
}
public protocol FreestandingMacro : SwiftSyntaxMacros.Macro {
}
public protocol Macro {
  static var formatMode: SwiftSyntaxMacros.FormatMode { get }
}
public enum FormatMode {
  case auto
  case disabled
  public static func == (a: SwiftSyntaxMacros.FormatMode, b: SwiftSyntaxMacros.FormatMode) -> Swift.Bool
  public func hash(into hasher: inout Swift.Hasher)
  public var hashValue: Swift.Int {
    get
  }
}
extension SwiftSyntaxMacros.Macro {
  public static var formatMode: SwiftSyntaxMacros.FormatMode {
    get
  }
}
public protocol MemberAttributeMacro : SwiftSyntaxMacros.AttachedMacro {
  static func expansion(of node: SwiftSyntax.AttributeSyntax, attachedTo declaration: some SwiftSyntax.DeclGroupSyntax, providingAttributesFor member: some SwiftSyntax.DeclSyntaxProtocol, in context: some SwiftSyntaxMacros.MacroExpansionContext) throws -> [SwiftSyntax.AttributeSyntax]
}
public protocol MemberMacro : SwiftSyntaxMacros.AttachedMacro {
  @available(*, deprecated, message: "Use expansion(of:providingMembersOf:conformingTo:in:")
  static func expansion(of node: SwiftSyntax.AttributeSyntax, providingMembersOf declaration: some SwiftSyntax.DeclGroupSyntax, in context: some SwiftSyntaxMacros.MacroExpansionContext) throws -> [SwiftSyntax.DeclSyntax]
  static func expansion(of node: SwiftSyntax.AttributeSyntax, providingMembersOf declaration: some SwiftSyntax.DeclGroupSyntax, conformingTo protocols: [SwiftSyntax.TypeSyntax], in context: some SwiftSyntaxMacros.MacroExpansionContext) throws -> [SwiftSyntax.DeclSyntax]
}
extension SwiftSyntaxMacros.MemberMacro {
  public static func expansion(of node: SwiftSyntax.AttributeSyntax, providingMembersOf declaration: some SwiftSyntax.DeclGroupSyntax, in context: some SwiftSyntaxMacros.MacroExpansionContext) throws -> [SwiftSyntax.DeclSyntax]
  public static func expansion(of node: SwiftSyntax.AttributeSyntax, providingMembersOf declaration: some SwiftSyntax.DeclGroupSyntax, conformingTo protocols: [SwiftSyntax.TypeSyntax], in context: some SwiftSyntaxMacros.MacroExpansionContext) throws -> [SwiftSyntax.DeclSyntax]
}
public protocol PeerMacro : SwiftSyntaxMacros.AttachedMacro {
  static func expansion(of node: SwiftSyntax.AttributeSyntax, providingPeersOf declaration: some SwiftSyntax.DeclSyntaxProtocol, in context: some SwiftSyntaxMacros.MacroExpansionContext) throws -> [SwiftSyntax.DeclSyntax]
}
public struct AbstractSourceLocation {
  public let file: SwiftSyntax.ExprSyntax
  public let line: SwiftSyntax.ExprSyntax
  public let column: SwiftSyntax.ExprSyntax
  public init(file: SwiftSyntax.ExprSyntax, line: SwiftSyntax.ExprSyntax, column: SwiftSyntax.ExprSyntax)
  public init(_ sourceLocation: SwiftSyntax.SourceLocation)
}
public protocol MacroExpansionContext : AnyObject {
  func makeUniqueName(_ name: Swift.String) -> SwiftSyntax.TokenSyntax
  func diagnose(_ diagnostic: SwiftDiagnostics.Diagnostic)
  func location<Node>(of node: Node, at position: SwiftSyntaxMacros.PositionInSyntaxNode, filePathMode: SwiftSyntaxMacros.SourceLocationFilePathMode) -> SwiftSyntaxMacros.AbstractSourceLocation? where Node : SwiftSyntax.SyntaxProtocol
}
extension SwiftSyntaxMacros.MacroExpansionContext {
  public func location<Node>(of node: Node) -> SwiftSyntaxMacros.AbstractSourceLocation? where Node : SwiftSyntax.SyntaxProtocol
}
extension SwiftSyntaxMacros.MacroExpansionContext {
  public func addDiagnostics<S>(from error: any Swift.Error, node: S) where S : SwiftSyntax.SyntaxProtocol
}
public enum PositionInSyntaxNode {
  case beforeLeadingTrivia
  case afterLeadingTrivia
  case beforeTrailingTrivia
  case afterTrailingTrivia
  public static func == (a: SwiftSyntaxMacros.PositionInSyntaxNode, b: SwiftSyntaxMacros.PositionInSyntaxNode) -> Swift.Bool
  public func hash(into hasher: inout Swift.Hasher)
  public var hashValue: Swift.Int {
    get
  }
}
public enum SourceLocationFilePathMode {
  case fileID
  case filePath
  public static func == (a: SwiftSyntaxMacros.SourceLocationFilePathMode, b: SwiftSyntaxMacros.SourceLocationFilePathMode) -> Swift.Bool
  public func hash(into hasher: inout Swift.Hasher)
  public var hashValue: Swift.Int {
    get
  }
}
