import Foundation import UIKit import AsyncDisplayKit import Display import TelegramCore import TelegramPresentationData import TelegramUIPreferences import AccountContext import ChatPresentationInterfaceState import ChatControllerInteraction public enum ChatInputContextPanelPlacement { case overPanels case overTextInput } open class ChatInputContextPanelNode: ASDisplayNode { public let context: AccountContext open var interfaceInteraction: ChatPanelInterfaceInteraction? open var placement: ChatInputContextPanelPlacement = .overPanels open var theme: PresentationTheme open var fontSize: PresentationFontSize public init(context: AccountContext, theme: PresentationTheme, strings: PresentationStrings, fontSize: PresentationFontSize, chatPresentationContext: ChatPresentationContext) { self.context = context self.theme = theme self.fontSize = fontSize super.init() } open func updateLayout(size: CGSize, leftInset: CGFloat, rightInset: CGFloat, bottomInset: CGFloat, transition: ContainedViewLayoutTransition, interfaceState: ChatPresentationInterfaceState) { } open func animateOut(completion: @escaping () -> Void) { completion() } open var topItemFrame: CGRect? { return nil } }