import * as discord from "discord.js";
/**Settings for the Alt Detector */
export interface AltDetectorSettings {
    ageWeight: number;
    statusWeight: number;
    activityWeight: number;
    usernameWordsWeight: number;
    usernameSymbolsWeight: number;
    displaynameWordsWeight: number;
    displaynameCapsWeight: number;
    displaynameSymbolsWeight: number;
    flagsWeight: number;
    boosterWeight: number;
    pfpWeight: number;
    bannerWeight: number;
    customWeight: number;
}
/**The returned value of the check(member) function */
export interface AltDetectorResult {
    total: number;
    categories: {
        age: number;
        status: number;
        activity: number;
        usernameWords: number;
        usernameSymbols: number;
        displaynameWords: number;
        displaynameCaps: number;
        displaynameSymbols: number;
        flags: number;
        booster: number;
        pfp: number;
        banner: number;
        custom: number;
    };
}
/**The Category that this user would be part of. (ONLY APPLIES WHEN NO WEIGHTS USED!!!) */
export type AltDetectorCategory = "highly-trusted" | "trusted" | "normal" | "newbie" | "suspicious" | "highly-suspicious" | "mega-suspicious";
/**Discord Alt Detector. Use `AltDetector.check(member)` to check a server member! */
export declare class AltDetector {
    settings: AltDetectorSettings;
    constructor(settings?: Partial<AltDetectorSettings>);
    check(member: discord.GuildMember, custom?: (member: discord.GuildMember, user: discord.User) => number): AltDetectorResult;
    /**Get the level of trust of a user. (ONLY APPLIES WHEN NO WEIGHTS USED!!!) */
    getCategory(score: AltDetectorResult): AltDetectorCategory;
}
