compat
: { Application
: typeof Application; Component
: typeof Component; Fragment
: typeof Fragment; Model
: typeof Model; Session
: typeof Session; Store
: typeof Store; Translator
: typeof Translator; components/Alert
: typeof Alert; components/AlertManager
: typeof AlertManager; components/Badge
: typeof Badge; components/Button
: typeof Button; components/Checkbox
: typeof Checkbox; components/ColorPreviewInput
: typeof ColorPreviewInput; components/Dropdown
: typeof Dropdown; components/EditUserModal
: typeof EditUserModal; components/FieldSet
: typeof FieldSet; components/GroupBadge
: typeof GroupBadge; components/Link
: typeof Link; components/LinkButton
: typeof LinkButton; components/LoadingIndicator
: typeof LoadingIndicator; components/Modal
: typeof Modal; components/ModalManager
: typeof ModalManager; components/Navigation
: typeof Navigation; components/Page
: typeof Page; components/Placeholder
: typeof Placeholder; components/RequestErrorModal
: typeof RequestErrorModal; components/Select
: typeof Select; components/SelectDropdown
: typeof SelectDropdown; components/Separator
: typeof Separator; components/SplitDropdown
: typeof SplitDropdown; components/Switch
: typeof Switch; components/TextEditor
: typeof TextEditor; components/TextEditorButton
: typeof TextEditorButton; components/Tooltip
: typeof Tooltip; extend
: any; helpers/avatar
: ((user
: null | User, attrs
?: ComponentAttrs) => Mithril.Vnode); helpers/fullTime
: ((time
: Date) => Mithril.Vnode); helpers/highlight
: ((string
: string, phrase
?: string | RegExp, length
?: number) => Mithril.Vnode<any, any> | string); helpers/humanTime
: ((time
: Date) => Mithril.Vnode); helpers/icon
: ((fontClass
: string, attrs
?: Attributes) => Mithril.Vnode); helpers/listItems
: (<Attrs>(rawItems
: ModdedChildrenWithItemName[], customTag
?: VnodeElementTag<Attrs, Component<Attrs, {}>>, attributes
?: Attrs) => Mithril.Vnode[]); helpers/punctuateSeries
: ((items
: Children[]) => Children); helpers/userOnline
: ((user
: User) => Mithril.Vnode<{}, {}> | null); helpers/username
: ((user
: undefined | null | false | User) => Mithril.Vnode); models/Discussion
: typeof Discussion; models/Forum
: typeof Forum; models/Group
: typeof Group; models/Notification
: typeof Notification; models/Post
: typeof Post; models/User
: typeof User; resolvers/DefaultResolver
: typeof DefaultResolver; states/PaginatedListState
: typeof PaginatedListState; utils/BasicEditorDriver
: typeof BasicEditorDriver; utils/Drawer
: typeof Drawer; utils/ItemList
: typeof ItemList; utils/RequestError
: typeof RequestError; utils/ScrollListener
: typeof ScrollListener; utils/Stream
: typeof Stream; utils/SubtreeRetainer
: typeof SubtreeRetainer; utils/abbreviateNumber
: ((number
: number) => string); utils/anchorScroll
: ((element
: string | HTMLElement | Element | SVGElement, callback
: (() => void)) => void); utils/classList
: ((...inputs
: ClassValue[]) => string); utils/computed
: (<T, M>(...args
: [...string[], ((this
: M,
...args
: unknown[]) => T)]) => (() => T)); utils/escapeRegExp
: ((input
: string) => string); utils/evented
: { handlers
: Record<string, unknown>; getHandlers
(event
: string): Function[]; off
(event
: string, handler
: Function): void; on
(event
: string, handler
: Function): void; one
(event
: string, handler
: Function): void; trigger
(event
: string,
...args
: any[]): void; }; utils/extract
: (<T, K>(object
: T, property
: K) => T[K]); utils/extractText
: ((vdom
: Children) => string); utils/focusTrap
: common/utils/focusTrap; utils/formatNumber
: ((number
: number, locale
?: string) => string); utils/humanTime
: ((time
: undefined | null | string | number | Date | Dayjs) => string); utils/insertText
: ((textarea
: HTMLTextAreaElement, __namedParameters
: SelectionRange) => void); utils/isDark
: ((hexcolor
: String) => boolean); utils/isObject
: ((obj
: unknown) => obj is object); utils/liveHumanTimes
: (() => void); utils/mapRoutes
: ((routes
: Record<string, FlarumGenericRoute>, basePath
?: string) => Record<string, RouteResolver<Record<string, unknown>, Component<{ routeName
: string; [key:
string]
: unknown; }, undefined>, Record<string, unknown>>>); utils/mixin
: ((Parent
: object,
...mixins
: Record<string, any>[]) => object); utils/patchMithril
: ((global
: any) => void); utils/proxifyCompat
: ((compat
: Record<string, unknown>, namespace
: string) => Record<string, unknown>); utils/setRouteWithForcedRefresh
: ((route
: string, params
?: null, options
?: RouteOptions) => void); utils/string
: common/utils/string; utils/stringToColor
: ((string
: string) => string); utils/styleSelectedText
: ((textarea
: HTMLTextAreaElement, styleArgs
: StyleArgs) => void); utils/subclassOf
: ((A
: any, B
: any) => any); utils/throttleDebounce
: common/utils/throttleDebounce; utils/withAttr
: ((key
: string, cb
: Function) => ((this
: Element) => void)); } & { ForumApplication
: typeof ForumApplication; components/AffixedSidebar
: typeof AffixedSidebar; components/AvatarEditor
: typeof AvatarEditor; components/ChangeEmailModal
: typeof ChangeEmailModal; components/ChangePasswordModal
: typeof ChangePasswordModal; components/CommentPost
: typeof CommentPost; components/Composer
: typeof Composer; components/ComposerBody
: typeof ComposerBody; components/ComposerButton
: typeof ComposerButton; components/ComposerPostPreview
: typeof ComposerPostPreview; components/DiscussionComposer
: typeof DiscussionComposer; components/DiscussionHero
: typeof DiscussionHero; components/DiscussionList
: typeof DiscussionList; components/DiscussionListItem
: typeof DiscussionListItem; components/DiscussionListPane
: typeof DiscussionListPane; components/DiscussionPage
: typeof DiscussionPage; components/DiscussionRenamedNotification
: typeof DiscussionRenamedNotification; components/DiscussionRenamedPost
: typeof DiscussionRenamedPost; components/DiscussionsSearchSource
: typeof DiscussionsSearchSource; components/DiscussionsUserPage
: typeof DiscussionsUserPage; components/EditPostComposer
: typeof EditPostComposer; components/EventPost
: typeof EventPost; components/ForgotPasswordModal
: typeof ForgotPasswordModal; components/HeaderPrimary
: typeof HeaderPrimary; components/HeaderSecondary
: typeof HeaderSecondary; components/IndexPage
: typeof IndexPage; components/LoadingPost
: typeof LoadingPost; components/LogInButton
: typeof LogInButton; components/LogInButtons
: typeof LogInButtons; components/LogInModal
: typeof LogInModal; components/Notification
: typeof Notification; components/NotificationGrid
: typeof NotificationGrid; components/NotificationList
: typeof NotificationList; components/NotificationsDropdown
: typeof NotificationsDropdown; components/NotificationsPage
: typeof NotificationsPage; components/Post
: typeof Post; components/PostEdited
: typeof PostEdited; components/PostMeta
: typeof PostMeta; components/PostPreview
: typeof PostPreview; components/PostStream
: typeof PostStream; components/PostStreamScrubber
: typeof PostStreamScrubber; components/PostUser
: typeof PostUser; components/PostsUserPage
: typeof PostsUserPage; components/RenameDiscussionModal
: typeof RenameDiscussionModal; components/ReplyComposer
: typeof ReplyComposer; components/ReplyPlaceholder
: typeof ReplyPlaceholder; components/Search
: typeof Search; components/SessionDropdown
: typeof SessionDropdown; components/SettingsPage
: typeof SettingsPage; components/SignUpModal
: typeof SignUpModal; components/TerminalPost
: typeof TerminalPost; components/UserCard
: typeof UserCard; components/UserPage
: typeof UserPage; components/UsersSearchSource
: typeof UsersSearchResults; components/WelcomeHero
: typeof WelcomeHero; resolvers/DiscussionPageResolver
: typeof DiscussionPageResolver; routes
: ((app
: ForumApplication) => void); states/ComposerState
: typeof ComposerState; states/DiscussionListState
: typeof DiscussionListState; states/GlobalSearchState
: typeof GlobalSearchState; states/NotificationListState
: typeof NotificationListState; states/PostStreamState
: typeof PostStreamState; states/SearchState
: typeof SearchState; utils/BasicEditorDriver
: typeof BasicEditorDriver; utils/DiscussionControls
: { controls
(discussion
: Discussion, context
: Component<any, any>): ItemList<Children>; deleteAction
(): Promise<void>; destructiveControls
(discussion
: Discussion): ItemList<Children>; hideAction
(): Promise<void>; moderationControls
(discussion
: Discussion): ItemList<Children>; renameAction
(): any; replyAction
(goToLast
: boolean, forceRefresh
: boolean): Promise<void>; restoreAction
(): Promise<void>; userControls
(discussion
: Discussion, context
: Component<any, any>): ItemList<Children>; }; utils/History
: typeof History; utils/KeyboardNavigatable
: typeof KeyboardNavigatable; utils/Pane
: typeof Pane; utils/PostControls
: { controls
(post
: Post, context
: Component<any, any>): ItemList<Children>; deleteAction
(context
: any): Promise<void>; destructiveControls
(post
: Post, context
: Component<any, any>): ItemList<Children>; editAction
(): Promise<void>; hideAction
(): Promise<void>; moderationControls
(post
: Post, context
: Component<any, any>): ItemList<Children>; restoreAction
(): Promise<void>; userControls
(post
: Post, context
: Component<any, any>): ItemList<Children>; }; utils/UserControls
: { controls
(user
: User, context
: Component<any, any>): ItemList<Children>; deleteAction
(user
: User): void; destructiveControls
(user
: User): ItemList<Children>; editAction
(user
: User): void; moderationControls
(user
: User): ItemList<Children>; showDeletionAlert
(user
: User, type
: string): void; userControls
(): ItemList<Children>; }; utils/alertEmailConfirmation
: ((app
: ForumApplication) => void); utils/isSafariMobile
: (() => boolean); utils/slidable
: ((element
: HTMLElement | Element | SVGElement) => { reset
: (() => void); }); }