import { BaseManager } from './BaseManager';
import { Client } from '../structures/Client';
import { User } from '../structures/User';
import { Collection } from '@discordjs/collection';
import { Server } from '../structures/server/Server';
/**
 * The manager of users that belong to the client.
 * @example new UserManager(client);
 */
export declare class UserManager extends BaseManager<string, User> {
    /** @param client The client the users belong to. */
    constructor(client: Client);
    /**
     * Fetch a user from a server, or cache.
     * @param server The server the user belongs to.
     * @param user The user to fetch.
     * @returns The fetched user.
     * @example users.fetch(server, user);
     */
    fetch(server: string | Server, user: string | User): Promise<User>;
    /**
     * Fetch users from a server.
     * @param server The server the users belong to.
     * @returns The fetched users.
     * @Example users.fetch(server);
     */
    fetch(server: string | Server): Promise<Collection<string, User>>;
    /** @ignore */
    private fetchSingle;
    /** @ignore */
    private fetchMany;
}
//# sourceMappingURL=UserManager.d.ts.map