export function extendTextSizeCookie(): void;
export function addSaveableUserField(fieldName: any): void;
export function addSaveableUserOptionField(fieldName: any): void;
export namespace SECOND_FACTOR_METHODS {
    let TOTP: number;
    let BACKUP_CODE: number;
    let SECURITY_KEY: number;
}
export const MAX_SECOND_FACTOR_NAME_LENGTH: 300;
export default class User extends RestModel {
    static createCurrent(): any;
    appEvents: any;
    do_not_disturb_until: any;
    status: any;
    dismissed_banner_key: any;
    associated_accounts: any;
    ignored_usernames: any;
    ignored_users: any;
    secondary_emails: any;
    sidebar_sections: any;
    unconfirmed_emails: any;
    mailing_list_mode: any;
    external_links_in_new_tab: any;
    enable_quoting: any;
    enable_smart_lists: any;
    enable_markdown_monospace_font: any;
    dynamic_favicon: any;
    automatically_unpin_topics: any;
    likes_notifications_disabled: any;
    hide_profile: any;
    hide_presence: any;
    title_count_mode: any;
    enable_defer: any;
    timezone: any;
    skip_new_user_tips: any;
    default_calendar: any;
    bookmark_auto_delete_preference: any;
    seen_popups: any;
    should_be_redirected_to_top: any;
    redirected_to_top: any;
    treat_as_new_topic_start_date: any;
    composition_mode: any;
    hasPMs: any;
    hasStartedPMs: any;
    hasUnreadPMs: any;
    adminPath: any;
    isBasic: any;
    isRegular: any;
    isLeader: any;
    canManageTopic: any;
    sidebarCategoryIds: any;
    sidebarSections: any;
    sidebarTagNames: any;
    groupsWithMessages: any;
    canPickThemeWithCustomHomepage: any;
    canEditTags: any;
    numGroupsToDisplay: number;
    statusManager: UserStatusManager;
    useRichEditor(compositionMode: any): boolean;
    canBeDeleted(canBeDeleted: any, postCount: any): boolean;
    stream(): any;
    bookmarks(): any;
    postsStream(): UserPostsStream;
    userDraftsStream(): any;
    set staff(value: any);
    get staff(): any;
    get hasUnseenFeatures(): unknown;
    destroySession(): globalThis.Promise<any>;
    searchContext(username: any): {
        type: string;
        id: any;
        /** @type User */
        user: User;
    };
    displayName(username: any, name: any): any;
    profileBackgroundUrl(bgUrl: any): import("@ember/template").SafeString;
    path(): any;
    userApiKeys(): any;
    revokeApiKey(key: any): globalThis.Promise<void>;
    undoRevokeApiKey(key: any): globalThis.Promise<void>;
    pmPath(topic: any): any;
    mutedTopicsPath(): any;
    watchingTopicsPath(): any;
    trackingTopicsPath(): any;
    username_lower(username: any): any;
    trustLevel(trustLevel: any): any;
    previousVisitAt(previous_visit_at: any): Date;
    suspended(suspendedTill: any): boolean;
    suspendedForever(suspendedTill: any): boolean;
    silenced(silencedTill: any): boolean;
    silencedForever(silencedTill: any): boolean;
    suspendedTillDate(suspendedTill: any): string;
    silencedTillDate(silencedTill: any): string;
    sidebarTags(sidebarTags: any): any;
    changeUsername(new_username: any): globalThis.Promise<any>;
    addEmail(email: any): globalThis.Promise<void>;
    changeEmail(email: any): globalThis.Promise<void>;
    save(fields: any): globalThis.Promise<any>;
    setPrimaryEmail(email: any): globalThis.Promise<void>;
    destroyEmail(email: any): globalThis.Promise<void>;
    changePassword(): globalThis.Promise<any>;
    removePassword(): globalThis.Promise<any>;
    loadSecondFactorCodes(): globalThis.Promise<any>;
    requestSecurityKeyChallenge(): globalThis.Promise<any>;
    registerSecurityKey(credential: any): globalThis.Promise<any>;
    trustedSession(): globalThis.Promise<any>;
    createPasskey(): globalThis.Promise<any>;
    registerPasskey(credential: any): globalThis.Promise<any>;
    deletePasskey(id: any): globalThis.Promise<any>;
    createSecondFactorTotp(): globalThis.Promise<any>;
    enableSecondFactorTotp(authToken: any, name: any): globalThis.Promise<any>;
    disableAllSecondFactors(): globalThis.Promise<any>;
    updateSecondFactor(id: any, name: any, disable: any, targetMethod: any): globalThis.Promise<any>;
    updateSecurityKey(id: any, name: any, disable: any): globalThis.Promise<any>;
    toggleSecondFactor(authToken: any, authMethod: any, targetMethod: any, enable: any): globalThis.Promise<any>;
    generateSecondFactorCodes(): globalThis.Promise<any>;
    revokeAssociatedAccount(providerName: any): globalThis.Promise<any>;
    loadUserAction(id: any): globalThis.Promise<void>;
    inAllStream(ua: any): boolean;
    filteredGroups(): any[];
    displayGroups(filteredGroups: any, numGroupsToDisplay: any): any;
    statsCountNonPM(): number;
    statsExcludingPms(): any;
    findDetails(options: any): import("rsvp").default.Promise<this>;
    findStaffInfo(): import("rsvp").default.Promise<any> | globalThis.Promise<void>;
    pickAvatar(upload_id: any, type: any): globalThis.Promise<any>;
    selectAvatar(avatarUrl: any): globalThis.Promise<any>;
    isAllowedToUploadAFile(type: any): any;
    createInvite(email: any, group_ids: any, custom_message: any): globalThis.Promise<any>;
    generateInviteLink(email: any, group_ids: any, topic_id: any): globalThis.Promise<any>;
    set mutedCategories(categories: any[]);
    get mutedCategories(): any[];
    set regularCategories(categories: any[]);
    get regularCategories(): any[];
    set trackedCategories(categories: any[]);
    get trackedCategories(): any[];
    set watchedCategories(categories: any[]);
    get watchedCategories(): any[];
    set watchedFirstPostCategories(categories: any[]);
    get watchedFirstPostCategories(): any[];
    canDeleteAccount(canDeleteAccount: any): any;
    get sidebarLinkToFilteredList(): unknown;
    get sidebarShowCountOfNewItems(): unknown;
    delete(): globalThis.Promise<any> | import("rsvp").default.Promise<never>;
    updateNotificationLevel({ level, expiringAt, actingUser }: {
        level: any;
        expiringAt?: any;
        actingUser?: any;
    }): globalThis.Promise<void>;
    dismissBanner(bannerKey: any): void;
    checkEmail(): globalThis.Promise<void>;
    summary(): globalThis.Promise<any>;
    canManageGroup(group: any): any;
    availableTitles(): {
        name: any;
        id: any;
    }[];
    availableFlairs(): any[];
    currentTextSize(serverSeq: any, serverSize: any): any;
    updateTextSizeCookie(newSize: any): void;
    enforcedSecondFactor(secondFactorEnabled: any, staff: any): any;
    resolvedTimezone(): any;
    calculateMutedIds(notificationLevel: any, id: any, type: any): any;
    setPrimaryGroup(primaryGroupId: any): globalThis.Promise<any>;
    enterDoNotDisturbFor(duration: any): globalThis.Promise<void>;
    leaveDoNotDisturb(): globalThis.Promise<void>;
    updateDoNotDisturbStatus(ends_at: any): void;
    updateDraftProperties(properties: any): void;
    updateReviewableCount(count: any): void;
    isInDoNotDisturb(): any;
    trackedTags(trackedTags: any, watchedTags: any, watchingFirstPostTags: any): any[];
    get prefersLightColor(): boolean;
    get prefersDarkColor(): boolean;
    get prefersAutoColor(): boolean;
}
import RestModel from "discourse/models/rest";
declare class UserStatusManager {
    constructor(user: any);
    appEvents: any;
    user: any;
    _subscribersCount: number;
    _clearStatusTimerId: any;
    trackStatus(): void;
    stopTrackingStatus(): void;
    isTrackingStatus(): boolean;
    _statusChanged(): void;
    _scheduleStatusClearing(endsAt: any): void;
    _unscheduleStatusClearing(): void;
    _autoClearStatus(): void;
    _updateStatus(statuses: any): void;
}
import UserPostsStream from "discourse/models/user-posts-stream";
export {};
//# sourceMappingURL=user.d.ts.map