// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.0.2 effective-5.10 (swiftlang-6.0.2.1.2 clang-1600.0.26.4)
// swift-module-flags: -target arm64-apple-ios15.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -Osize -enable-bare-slash-regex -module-name LinkKit
// swift-module-flags-ignorable: -no-verify-emitted-module-interface
import Combine
import FinanceKit
import Foundation
@_exported import LinkKit
import Swift
import SwiftUI
import UIKit
import _Concurrency
import _StringProcessing
import _SwiftConcurrencyShims
public struct ExitMetadata : Swift.Codable {
  public var status: LinkKit.ExitStatus?
  public var institution: LinkKit.Institution?
  public var linkSessionID: Swift.String?
  public var requestID: Swift.String?
  public var metadataJSON: LinkKit.RawJSONMetadata?
  public func encode(to encoder: any Swift.Encoder) throws
  public init(from decoder: any Swift.Decoder) throws
}
public enum InvalidInputErrorCode : Swift.Error, Swift.CustomStringConvertible, Swift.Codable, Swift.Equatable {
  case invalidApiKeys
  case unauthorizedEnvironment
  case invalidAccessToken
  case invalidPublicToken
  case invalidProduct
  case invalidAccountId
  case invalidInstitution
  case tooManyVerificationAttempts
  case unknown(Swift.String)
  public init(from decoder: any Swift.Decoder) throws
  public func encode(to encoder: any Swift.Encoder) throws
  public var description: Swift.String {
    get
  }
  public static func == (a: LinkKit.InvalidInputErrorCode, b: LinkKit.InvalidInputErrorCode) -> Swift.Bool
}
public struct EmbeddedLinkTokenConfiguration {
  public init(token: Swift.String, onSuccess: @escaping LinkKit.OnSuccessHandler, onExit: LinkKit.OnExitHandler?, onEvent: LinkKit.OnEventHandler?)
  public var token: Swift.String {
    get
  }
  public var onSuccess: LinkKit.OnSuccessHandler {
    get
  }
  public var onExit: LinkKit.OnExitHandler? {
    get
  }
  public var onEvent: LinkKit.OnEventHandler? {
    get
  }
}
public struct LinkExit : Swift.Codable {
  public var error: LinkKit.ExitError?
  public var metadata: LinkKit.ExitMetadata
  public func encode(to encoder: any Swift.Encoder) throws
  public init(from decoder: any Swift.Decoder) throws
}
public enum ExitErrorCode : Swift.Codable, Swift.Equatable {
  case apiError(LinkKit.ApiErrorCode)
  case authError(LinkKit.AuthErrorCode)
  case assetReportError(LinkKit.AssetReportErrorCode)
  case `internal`(Swift.String)
  case institutionError(LinkKit.InstitutionErrorCode)
  case itemError(LinkKit.ItemErrorCode)
  case invalidInput(LinkKit.InvalidInputErrorCode)
  case invalidRequest(LinkKit.InvalidRequestErrorCode)
  case rateLimitExceeded(LinkKit.RateLimitErrorCode)
  case unknown(type: Swift.String, code: Swift.String)
  public init(from decoder: any Swift.Decoder) throws
  public var description: Swift.String {
    get
  }
  public func encode(to encoder: any Swift.Encoder) throws
  public static func == (a: LinkKit.ExitErrorCode, b: LinkKit.ExitErrorCode) -> Swift.Bool
}
public enum AccountSubtype : Swift.Codable, Swift.Equatable, Swift.CustomStringConvertible {
  case unknown(type: Swift.String, subtype: Swift.String)
  case other(LinkKit.AccountSubtype.Other)
  case credit(LinkKit.AccountSubtype.Credit)
  case loan(LinkKit.AccountSubtype.Loan)
  case depository(LinkKit.AccountSubtype.Depository)
  case investment(LinkKit.AccountSubtype.Investment)
  public var description: Swift.String {
    get
  }
  public enum Other : Swift.Codable, Swift.Equatable, Swift.CustomStringConvertible {
    case all
    case other
    case unknown(Swift.String)
    public var description: Swift.String {
      get
    }
    public static func == (a: LinkKit.AccountSubtype.Other, b: LinkKit.AccountSubtype.Other) -> Swift.Bool
    public func encode(to encoder: any Swift.Encoder) throws
    public init(from decoder: any Swift.Decoder) throws
  }
  public enum Credit : Swift.Codable, Swift.Equatable, Swift.CustomStringConvertible {
    case all
    case creditCard
    case paypal
    case unknown(Swift.String)
    public var description: Swift.String {
      get
    }
    public static func == (a: LinkKit.AccountSubtype.Credit, b: LinkKit.AccountSubtype.Credit) -> Swift.Bool
    public func encode(to encoder: any Swift.Encoder) throws
    public init(from decoder: any Swift.Decoder) throws
  }
  public enum Loan : Swift.Codable, Swift.Equatable, Swift.CustomStringConvertible {
    case all
    case auto
    case business
    case commercial
    case construction
    case consumer
    case homeEquity
    case lineOfCredit
    case loan
    case mortgage
    case overdraft
    case student
    case unknown(Swift.String)
    public var description: Swift.String {
      get
    }
    public static func == (a: LinkKit.AccountSubtype.Loan, b: LinkKit.AccountSubtype.Loan) -> Swift.Bool
    public func encode(to encoder: any Swift.Encoder) throws
    public init(from decoder: any Swift.Decoder) throws
  }
  public enum Depository : Swift.Codable, Swift.Equatable, Swift.CustomStringConvertible {
    case all
    case cashManagement
    case cd
    case checking
    case ebt
    case hsa
    case moneyMarket
    case paypal
    case prepaid
    case savings
    case unknown(Swift.String)
    public var description: Swift.String {
      get
    }
    public static func == (a: LinkKit.AccountSubtype.Depository, b: LinkKit.AccountSubtype.Depository) -> Swift.Bool
    public func encode(to encoder: any Swift.Encoder) throws
    public init(from decoder: any Swift.Decoder) throws
  }
  public enum Investment : Swift.Codable, Swift.Equatable, Swift.CustomStringConvertible {
    case all
    case brokerage
    case cashIsa
    case educationSavingsAccount
    case fixedAnnuity
    case gic
    case healthReimbursementArrangement
    case hsa
    case investment401a
    case investment401k
    case investment403B
    case investment457b
    case investment529
    case ira
    case isa
    case keogh
    case lif
    case lira
    case lrif
    case lrsp
    case mutualFund
    case nonTaxableBrokerageAccount
    case pension
    case plan
    case prif
    case profitSharingPlan
    case rdsp
    case resp
    case retirement
    case rlif
    case roth
    case roth401k
    case rrif
    case rrsp
    case sarsep
    case sepIra
    case simpleIra
    case sipp
    case stockPlan
    case tfsa
    case thriftSavingsPlan
    case trust
    case ugma
    case unknown(Swift.String)
    case utma
    case variableAnnuity
    public var description: Swift.String {
      get
    }
    public static func == (a: LinkKit.AccountSubtype.Investment, b: LinkKit.AccountSubtype.Investment) -> Swift.Bool
    public func encode(to encoder: any Swift.Encoder) throws
    public init(from decoder: any Swift.Decoder) throws
  }
  public init(from decoder: any Swift.Decoder) throws
  public func encode(to encoder: any Swift.Encoder) throws
  public var type: Swift.String {
    get
  }
  public static func == (a: LinkKit.AccountSubtype, b: LinkKit.AccountSubtype) -> Swift.Bool
}
extension LinkKit.AccountSubtype {
  public static func privateObjCInitializer(stringLiteral: Swift.String) -> LinkKit.AccountSubtype
}
public protocol SubmissionData {
  var phoneNumber: Swift.String? { get }
  var dateOfBirth: Swift.String? { get }
  var params: [Swift.String : Swift.String]? { get }
}
@objc @_hasMissingDesignatedInitializers @_Concurrency.MainActor @preconcurrency final public class EmbeddedSearchUIView : UIKit.UIView {
  @_Concurrency.MainActor @preconcurrency final public let expectedWidth: CoreFoundation.CGFloat
  @_Concurrency.MainActor @preconcurrency final public let expectedHeight: CoreFoundation.CGFloat
  @objc deinit
}
@_Concurrency.MainActor @preconcurrency public struct EmbeddedSearchView : SwiftUICore.View {
  @_Concurrency.MainActor @preconcurrency public let expectedWidth: CoreFoundation.CGFloat
  @_Concurrency.MainActor @preconcurrency public let expectedHeight: CoreFoundation.CGFloat
  @_Concurrency.MainActor @preconcurrency public var body: some SwiftUICore.View {
    get
  }
  public typealias Body = @_opaqueReturnTypeOf("$s7LinkKit18EmbeddedSearchViewV4bodyQrvp", 0) __
}
public enum ApiErrorCode : Swift.Error, Swift.CustomStringConvertible, Swift.Codable, Swift.Equatable {
  case internalServerError
  case plannedMaintenance
  case unknown(Swift.String)
  public init(from decoder: any Swift.Decoder) throws
  public func encode(to encoder: any Swift.Encoder) throws
  public var description: Swift.String {
    get
  }
  public static func == (a: LinkKit.ApiErrorCode, b: LinkKit.ApiErrorCode) -> Swift.Bool
}
public enum ConfigurationError : Foundation.LocalizedError {
  case invalidToken(message: Swift.String)
  public var message: Swift.String {
    get
  }
  public var errorDescription: Swift.String? {
    get
  }
}
@_Concurrency.MainActor @preconcurrency public struct PlaidLinkView<ErrorView> : SwiftUICore.View where ErrorView : SwiftUICore.View {
  @_Concurrency.MainActor @preconcurrency public init(token: Swift.String, onSuccess: @escaping LinkKit.OnSuccessHandler, onExit: LinkKit.OnExitHandler? = nil, onEvent: LinkKit.OnEventHandler? = nil, @SwiftUICore.ViewBuilder errorView: @escaping (any Swift.Error) -> ErrorView)
  @_Concurrency.MainActor @preconcurrency public var body: some SwiftUICore.View {
    get
  }
  public typealias Body = @_opaqueReturnTypeOf("$s7LinkKit05PlaidA4ViewV4bodyQrvp", 0) __<ErrorView>
}
public enum AuthErrorCode : Swift.Error, Swift.CustomStringConvertible, Swift.Codable, Swift.Equatable {
  case productNotReady
  case verificationExpired
  case unknown(Swift.String)
  public init(from decoder: any Swift.Decoder) throws
  public func encode(to encoder: any Swift.Encoder) throws
  public var description: Swift.String {
    get
  }
  public static func == (a: LinkKit.AuthErrorCode, b: LinkKit.AuthErrorCode) -> Swift.Bool
}
public struct Institution : Swift.Codable, Swift.Equatable {
  public var id: LinkKit.InstitutionID
  public var name: Swift.String
  public static func == (a: LinkKit.Institution, b: LinkKit.Institution) -> Swift.Bool
  public func encode(to encoder: any Swift.Encoder) throws
  public init(from decoder: any Swift.Decoder) throws
}
public struct Plaid {
  public static let version: Swift.String
  public static func createPlaidLinkSession(configuration: LinkKit.LinkTokenConfiguration) throws -> LinkKit.PlaidLinkSession
  public static func createPlaidLayerSession(configuration: LinkKit.LayerTokenConfiguration) throws -> LinkKit.PlaidLayerSession
  public static func createHeadlessSession(configuration: LinkKit.LinkTokenConfiguration) throws -> any LinkKit.PlaidHeadlessSession
  public static func createEmbeddedLinkUIView(configuration: LinkKit.EmbeddedLinkTokenConfiguration, presentationMethod: LinkKit.PresentationMethod) throws -> LinkKit.EmbeddedSearchUIView
  public static func createEmbeddedLinkView(configuration: LinkKit.EmbeddedLinkTokenConfiguration) throws -> LinkKit.EmbeddedSearchView
}
public enum ItemErrorCode : Swift.Error, Swift.CustomStringConvertible, Swift.Equatable {
  case insufficientCredentials
  case invalidCredentials
  case invalidMfa
  case invalidSendMethod
  case invalidUpdatedUsername
  case itemLocked
  case itemLoginRequired
  case itemNoError
  case itemNotSupported
  case incorrectDepositAmounts
  case userSetupRequired
  case mfaNotSupported
  case noAccounts
  case noAuthAccounts
  case noInvestmentAccounts
  case noLiabilityAccounts
  case productNotReady
  case productsNotSupported
  case instantMatchFailed
  case unknown(Swift.String)
  public var description: Swift.String {
    get
  }
  public static func == (a: LinkKit.ItemErrorCode, b: LinkKit.ItemErrorCode) -> Swift.Bool
}
@available(iOS 17.4, *)
public enum FinanceKitError : Foundation.LocalizedError {
  case invalidToken(message: Swift.String)
  case permissionError(message: Swift.String)
  case linkApiError(message: Swift.String)
  case permissionAccessError(message: Swift.String)
  case unknown(error: any Swift.Error)
  public var errorDescription: Swift.String? {
    get
  }
}
public enum AssetReportErrorCode : Swift.Error, Swift.CustomStringConvertible, Swift.Codable, Swift.Equatable {
  case productNotEnabled
  case dataUnavailable
  case productNotReady
  case assetReportGenerationFailed
  case invalidParent
  case insightsNotEnabled
  case insightsPreviouslyNotEnabled
  case unknown(Swift.String)
  public init(from decoder: any Swift.Decoder) throws
  public func encode(to encoder: any Swift.Encoder) throws
  public var description: Swift.String {
    get
  }
  public static func == (a: LinkKit.AssetReportErrorCode, b: LinkKit.AssetReportErrorCode) -> Swift.Bool
}
public enum InvalidRequestErrorCode : Swift.Error, Swift.CustomStringConvertible, Swift.Codable, Swift.Equatable {
  case missingFields
  case unknownFields
  case invalidField
  case invalidBody
  case invalidAddress
  case notFound
  case sandboxOnly
  case unknown(Swift.String)
  public init(from decoder: any Swift.Decoder) throws
  public func encode(to encoder: any Swift.Encoder) throws
  public var description: Swift.String {
    get
  }
  public static func == (a: LinkKit.InvalidRequestErrorCode, b: LinkKit.InvalidRequestErrorCode) -> Swift.Bool
}
public enum RateLimitErrorCode : Swift.Error, Swift.CustomStringConvertible, Swift.Codable, Swift.Equatable {
  case accountsLimit
  case additionLimit
  case authLimit
  case identityLimit
  case incomeLimit
  case itemGetLimit
  case rateLimit
  case transactionsLimit
  case unknown(Swift.String)
  public init(from decoder: any Swift.Decoder) throws
  public func encode(to encoder: any Swift.Encoder) throws
  public var description: Swift.String {
    get
  }
  public static func == (a: LinkKit.RateLimitErrorCode, b: LinkKit.RateLimitErrorCode) -> Swift.Bool
}
public enum MFAType : Swift.CustomStringConvertible, Swift.Codable, Swift.Equatable {
  case code
  case device
  case questions
  case selections
  public init(from decoder: any Swift.Decoder) throws
  public func encode(to encoder: any Swift.Encoder) throws
  public var description: Swift.String {
    get
  }
  public func hash(into hasher: inout Swift.Hasher)
  public static func == (a: LinkKit.MFAType, b: LinkKit.MFAType) -> Swift.Bool
  public var hashValue: Swift.Int {
    get
  }
}
public protocol PlaidHeadlessSession {
  func start()
}
@_hasMissingDesignatedInitializers final public class PlaidLinkSession : Swift.Identifiable {
  final public let id: Swift.String
  final public var showGradientBackground: Swift.Bool {
    get
    set
  }
  final public func sheet() -> some SwiftUICore.View
  
  final public func open(using: LinkKit.PresentationMethod)
  public typealias ID = Swift.String
  @objc deinit
}
public struct Account : Swift.Codable {
  public var id: LinkKit.AccountID
  public var name: Swift.String
  public var mask: LinkKit.AccountMask?
  public var subtype: LinkKit.AccountSubtype
  public var verificationStatus: LinkKit.VerificationStatus?
  public func encode(to encoder: any Swift.Encoder) throws
  public init(from decoder: any Swift.Decoder) throws
}
@_Concurrency.MainActor @preconcurrency public struct PlaidLinkSheet : SwiftUICore.View {
  @_Concurrency.MainActor @preconcurrency public init(_ session: LinkKit.PlaidLinkSession)
  @_Concurrency.MainActor @preconcurrency public var body: some SwiftUICore.View {
    get
  }
  public typealias Body = @_opaqueReturnTypeOf("$s7LinkKit05PlaidA5SheetV4bodyQrvp", 0) __
}
public struct LinkEvent : Swift.Codable {
  public var eventName: LinkKit.EventName
  public var metadata: LinkKit.EventMetadata
  public init(from decoder: any Swift.Decoder) throws
  public func encode(to encoder: any Swift.Encoder) throws
}
@_hasMissingDesignatedInitializers final public class PlaidLayerSession : Swift.Identifiable {
  final public var id: Swift.String {
    get
  }
  final public func sheet() -> some SwiftUICore.View
  
  final public func open(using: LinkKit.PresentationMethod)
  final public func submit(data: any LinkKit.SubmissionData)
  public typealias ID = Swift.String
  @objc deinit
}
public enum ViewName : Swift.CustomStringConvertible, Swift.Codable, Swift.Equatable {
  case acceptTOS
  case connected
  case consent
  case credential
  case dataTransparency
  case dataTransparencyConsent
  case dataTransparencyMessagingModal
  case documentaryVerification
  case error
  case exit
  case identityMatchBlock
  case kycCheck
  case loading
  case matchedConsent
  case matchedCredential
  case matchedMFA
  case mfa
  case numbers
  case numbersSelectInstitution
  case oauth
  case profileDataReview
  case recaptcha
  case riskCheck
  case screening
  case selectAccount
  case selectAuthType
  case submitPhone
  case verifyPhone
  case selectSavedInstitution
  case selectSavedAccount
  case selectBrand
  case selectInstitution
  case selfieCheck
  case uploadDocuments
  case submitDocuments
  case submitDocumentsSuccess
  case submitDocumentsError
  case verifySMS
  case submitEmail
  case verifyEmail
  case craConsent
  case instantMicrodepositAuthorized
  case sameDayMicrodepositAuthorized
  case instantMicrodepositVerification
  case sameDayMicrodepositVerification
  case transferStatusCheck
  case unknown(Swift.String)
  public static var allCases: [LinkKit.ViewName] {
    get
  }
  public init(from decoder: any Swift.Decoder) throws
  public func encode(to encoder: any Swift.Encoder) throws
  public var description: Swift.String {
    get
  }
  public static func == (a: LinkKit.ViewName, b: LinkKit.ViewName) -> Swift.Bool
}
public typealias PublicToken = Swift.String
public typealias Language = Swift.String
public typealias CountryCode = Swift.String
public typealias RawJSONMetadata = Swift.String
public typealias InstitutionID = Swift.String
public typealias AccountID = Swift.String
public typealias AccountMask = Swift.String
public typealias OnSuccessHandler = (LinkKit.LinkSuccess) -> Swift.Void
public typealias OnExitHandler = (LinkKit.LinkExit) -> Swift.Void
public typealias OnEventHandler = (LinkKit.LinkEvent) -> Swift.Void
public typealias OnLoadHandler = (() -> Swift.Void)
public typealias PresentationHandler = (UIKit.UIViewController) -> Swift.Void
public typealias DismissalHandler = (UIKit.UIViewController) -> Swift.Void
public struct LinkTokenConfiguration {
  public let token: Swift.String
  public let onSuccess: LinkKit.OnSuccessHandler
  public let onExit: LinkKit.OnExitHandler?
  public let onEvent: LinkKit.OnEventHandler?
  public var onLoad: LinkKit.OnLoadHandler?
  public init(token: Swift.String, onSuccess: @escaping LinkKit.OnSuccessHandler, onExit: LinkKit.OnExitHandler?, onEvent: LinkKit.OnEventHandler?, onLoad: LinkKit.OnLoadHandler?)
}
public enum PresentationMethod {
  case viewController(UIKit.UIViewController)
  case custom(LinkKit.PresentationHandler, _: LinkKit.DismissalHandler = { $0.presentingViewController?.dismiss(animated: true, completion: nil) })
}
public struct LayerTokenConfiguration {
  public init(token: Swift.String, onSuccess: @escaping LinkKit.OnSuccessHandler, onExit: LinkKit.OnExitHandler?, onEvent: LinkKit.OnEventHandler?)
  public var token: Swift.String {
    get
  }
  public var onSuccess: LinkKit.OnSuccessHandler {
    get
  }
  public var onExit: LinkKit.OnExitHandler? {
    get
  }
  public var onEvent: LinkKit.OnEventHandler? {
    get
  }
}
public enum VerificationStatus : Swift.CustomStringConvertible, Swift.Codable, Swift.Equatable {
  case pendingAutomaticVerification
  case pendingManualVerification
  case manuallyVerified
  case unknown(Swift.String)
  public init(from decoder: any Swift.Decoder) throws
  public func encode(to encoder: any Swift.Encoder) throws
  public var description: Swift.String {
    get
  }
  public static func == (a: LinkKit.VerificationStatus, b: LinkKit.VerificationStatus) -> Swift.Bool
}
public enum Environment : Swift.CustomStringConvertible, Swift.Codable {
  case production
  case sandbox
  public var description: Swift.String {
    get
  }
  public static func == (a: LinkKit.Environment, b: LinkKit.Environment) -> Swift.Bool
  public func hash(into hasher: inout Swift.Hasher)
  public var hashValue: Swift.Int {
    get
  }
}
extension LinkKit.Environment {
  public init(from decoder: any Swift.Decoder) throws
  public func encode(to encoder: any Swift.Encoder) throws
}
public struct EventMetadata : Swift.Codable {
  public var accountNumberMask: Swift.String?
  public var errorCode: LinkKit.ExitErrorCode?
  public var errorMessage: Swift.String?
  public var exitStatus: LinkKit.ExitStatus?
  public var institutionID: LinkKit.InstitutionID?
  public var institutionName: Swift.String?
  public var institutionSearchQuery: Swift.String?
  public var isUpdateMode: Swift.String?
  public var matchReason: Swift.String?
  public var linkSessionID: Swift.String
  public var mfaType: LinkKit.MFAType?
  public var requestID: Swift.String?
  public var issueID: Swift.String?
  public var issueDescription: Swift.String?
  public var issueDetectedAt: Foundation.Date?
  public var routingNumber: Swift.String?
  public var selection: Swift.String?
  public var timestamp: Foundation.Date
  public var viewName: LinkKit.ViewName?
  public var metadataJSON: LinkKit.RawJSONMetadata?
  public init(from decoder: any Swift.Decoder) throws
  public func encode(to encoder: any Swift.Encoder) throws
}
public enum EventName : Swift.CustomStringConvertible, Swift.Codable, Swift.Equatable {
  case autoSubmitPhone
  case bankIncomeInsightsCompleted
  case closeOAuth
  case connectNewInstitution
  case error
  case exit
  case failOAuth
  case handoff
  case identityMatchPassed
  case identityMatchFailed
  case identityVerificationStartStep
  case identityVerificationPassStep
  case identityVerificationFailStep
  case identityVerificationPendingReviewStep
  case identityVerificationCreateSession
  case identityVerificationResumeSession
  case identityVerificationPassSession
  case identityVerificationFailSession
  case identityVerificationPendingReviewSession
  case identityVerificationOpenUI
  case identityVerificationResumeUI
  case identityVerificationCloseUI
  case issueFollowed
  case layerAutoFillNotAvailable
  case layerReady
  case layerNotAvailable
  case matchedSelectInstitution
  case matchedSelectVerifyMethod
  case open
  case openMyPlaid
  case openOAuth
  case profileEligibilityCheckReady
  case profileEligibilityCheckError
  case searchInstitution
  case selectAccount
  case selectDegradedInstitution
  case selectFilteredInstitution
  case selectFallbackRoutingInstitution
  case selectDownInstitution
  case selectDenylistedInstitution
  case selectRememberMeDuplicateInstitution
  case selectInstitution
  case selectBrand
  case selectAuthType
  case skipSubmitPhone
  case submitAccountNumber
  case submitCredentials
  case submitDocuments
  case submitDocumentsSuccess
  case submitDocumentsError
  case submitMFA
  case submitOTP
  case submitPhone
  case submitRoutingNumber
  case transitionView
  case verifyPhone
  case viewDataTypes
  case submitEmail
  case skipSubmitEmail
  case rememberMeEnabled
  case rememberMeDisabled
  case rememberMeHoldout
  case selectSavedInstitution
  case selectSavedAccount
  case autoSelectSavedInstitution
  case plaidCheckPane
  case unknown(Swift.String)
  public static var allCases: [LinkKit.EventName] {
    get
  }
  public init(from decoder: any Swift.Decoder) throws
  public func encode(to encoder: any Swift.Encoder) throws
  public var description: Swift.String {
    get
  }
  public static func == (a: LinkKit.EventName, b: LinkKit.EventName) -> Swift.Bool
}
public struct PlaidFinanceKit {
  @available(iOS 17.4, *)
  public enum SyncBehavior {
    case live
    case simulated
    public static func == (a: LinkKit.PlaidFinanceKit.SyncBehavior, b: LinkKit.PlaidFinanceKit.SyncBehavior) -> Swift.Bool
    public func hash(into hasher: inout Swift.Hasher)
    public var hashValue: Swift.Int {
      get
    }
  }
  @available(iOS 17.4, *)
  public static func sync(token: Swift.String, requestAuthorizationIfNeeded: Swift.Bool, syncBehavior: LinkKit.PlaidFinanceKit.SyncBehavior = .live, completion: @escaping (Swift.Result<Swift.Void, LinkKit.FinanceKitError>) -> Swift.Void)
  @available(iOS 17.4, *)
  public static func sync(token: Swift.String, requestAuthorizationIfNeeded: Swift.Bool, syncBehavior: LinkKit.PlaidFinanceKit.SyncBehavior = .live) async throws
}
@_Concurrency.MainActor @preconcurrency public struct PlaidLinkUIViewControllerRepresentable : SwiftUI.UIViewControllerRepresentable {
  @_Concurrency.MainActor @preconcurrency public init(session: LinkKit.PlaidLinkSession)
  @_Concurrency.MainActor @preconcurrency public init(session: LinkKit.PlaidLayerSession)
  @objc @_hasMissingDesignatedInitializers final public class Coordinator : ObjectiveC.NSObject {
    @objc deinit
  }
  @_Concurrency.MainActor @preconcurrency public func makeCoordinator() -> LinkKit.PlaidLinkUIViewControllerRepresentable.Coordinator
  @_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: LinkKit.PlaidLinkUIViewControllerRepresentable.Context) -> UIKit.UIViewController
  @_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: UIKit.UIViewController, context: LinkKit.PlaidLinkUIViewControllerRepresentable.Context)
  public typealias Body = Swift.Never
  public typealias UIViewControllerType = UIKit.UIViewController
}
public enum InstitutionErrorCode : Swift.Error, Swift.CustomStringConvertible, Swift.Equatable, Swift.Codable {
  case institutionDown
  case institutionNotResponding
  case institutionNotAvailable
  case institutionNoLongerSupported
  case unknown(Swift.String)
  public init(from decoder: any Swift.Decoder) throws
  public func encode(to encoder: any Swift.Encoder) throws
  public var description: Swift.String {
    get
  }
  public static func == (a: LinkKit.InstitutionErrorCode, b: LinkKit.InstitutionErrorCode) -> Swift.Bool
}
public struct LinkSuccess : Swift.Codable {
  public var publicToken: Swift.String
  public var metadata: LinkKit.SuccessMetadata
  public func encode(to encoder: any Swift.Encoder) throws
  public init(from decoder: any Swift.Decoder) throws
}
public struct SuccessMetadata : Swift.Codable {
  public var institution: LinkKit.Institution
  public var accounts: [LinkKit.Account]
  public var linkSessionID: Swift.String
  public var metadataJSON: LinkKit.RawJSONMetadata?
  public func encode(to encoder: any Swift.Encoder) throws
  public init(from decoder: any Swift.Decoder) throws
}
public struct ExitError : Swift.Error, Swift.Codable {
  public var errorCode: LinkKit.ExitErrorCode
  public var errorMessage: Swift.String
  public var displayMessage: Swift.String?
  public var errorJSON: LinkKit.RawJSONMetadata?
  public func encode(to encoder: any Swift.Encoder) throws
  public init(from decoder: any Swift.Decoder) throws
}
extension LinkKit.ExitError {
  public static func privateObjCInitializer(errorCode: LinkKit.ExitErrorCode, errorMessage: Swift.String, displayMesssage: Swift.String?, errorJSON: LinkKit.RawJSONMetadata?) -> LinkKit.ExitError
}
public enum ExitStatus : Swift.CustomStringConvertible, Swift.Codable, Swift.Equatable {
  case requiresQuestions
  case requiresSelections
  case requiresCode
  case chooseDevice
  case requiresCredentials
  case institutionNotFound
  case requiresAccountSelection
  case continueToThirdParty
  case unknown(Swift.String)
  public init(from decoder: any Swift.Decoder) throws
  public func encode(to encoder: any Swift.Encoder) throws
  public var description: Swift.String {
    get
  }
  public static func == (a: LinkKit.ExitStatus, b: LinkKit.ExitStatus) -> Swift.Bool
}
extension LinkKit.EmbeddedSearchView : Swift.Sendable {}
extension LinkKit.PlaidLinkView : Swift.Sendable {}
extension LinkKit.MFAType : Swift.Hashable {}
extension LinkKit.PlaidLinkSheet : Swift.Sendable {}
extension LinkKit.Environment : Swift.Equatable {}
extension LinkKit.Environment : Swift.Hashable {}
@available(iOS 17.4, *)
extension LinkKit.PlaidFinanceKit.SyncBehavior : Swift.Equatable {}
@available(iOS 17.4, *)
extension LinkKit.PlaidFinanceKit.SyncBehavior : Swift.Hashable {}
extension LinkKit.PlaidLinkUIViewControllerRepresentable : Swift.Sendable {}
