import { IUsersService } from './IUsersService';
import { AccessLevel, IUser } from './IUser';
import { Status } from '../../DataFrame';
import { ResponseResult } from '../FieldChangeResult';
import { IPicture } from '../Pictures/IPicture';
export declare class UsersService implements IUsersService {
    private _connection;
    private _pictureService;
    private _sessionService;
    static readonly ServiceName: string;
    constructor();
    CanEditUser(user: IUser): boolean;
    CanEditUsersOfAccessLevel(level: AccessLevel): boolean;
    GetServiceName(): string;
    GetUsersAsync(): Promise<IUser[]>;
    GetUserAsync(id?: string): Promise<IUser | null>;
    CreateUserAsync(user: IUser, password: string): Promise<ResponseResult<Status>>;
    UpdateUserAsync(user: IUser): Promise<ResponseResult<Status>>;
    ChangePasswordAsync(user: IUser, password: string): Promise<ResponseResult<Status>>;
    DeleteUserAsync(id?: string): Promise<Status>;
    GetUserProfilePictureAsync(user: IUser): Promise<IPicture | ResponseResult<Status>>;
    SetUserProfilePictureAsync(user: IUser, base64PictureString: string): Promise<ResponseResult<Status>>;
}
