import { Api } from './api';
import { Cache, PathEventEmitter } from '@ztimson/utils';
import { Meta, Notification } from './core';
export type User = Meta & {
    username: string;
    name: string;
    email?: string;
    phone?: string;
    address?: string;
    image: string;
    disabled?: boolean;
    groups: string[];
    notifications: Notification[];
    permissions: string[];
    notes?: string;
    custom: any;
    balance?: number;
    lastLogin?: number | null;
    subscriptions?: any[];
    totp?: false | 'app' | 'email' | 'phone';
};
export declare class Users extends PathEventEmitter {
    private readonly api;
    cache: Cache<string, User>;
    constructor(api: Api | string);
    all(reload?: boolean): Promise<User[]>;
    delete(username: string): Promise<void>;
    read(username: string, reload?: boolean): Promise<User>;
    update(user: User): Promise<User>;
    uploadImage(username: string, file: File): import('@ztimson/utils').PromiseProgress<unknown>;
}
//# sourceMappingURL=users.d.ts.map