Variable compat

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);
    });
}

Generated using TypeDoc v0.23.24