import { AsyncEventEmitter } from "@vladfrangu/async_event_emitter";
import type { Client } from "../client";
import type { Friend } from "./friend";
export interface FriendEvents {
    "online-status-change": [friend: Friend];
    "friendship-terminated": [friend: Friend];
}
export declare class Friends extends AsyncEventEmitter<FriendEvents> {
    private readonly client;
    private friends;
    constructor(client: Client);
    has(key: string): boolean;
    get(key: string): Friend | undefined;
    set(key: string, friend: Friend): this;
    delete(key: string): boolean;
    entries(): MapIterator<[string, Friend]>;
    values(): MapIterator<Friend>;
    keys(): MapIterator<string>;
    get size(): number;
}
