/// <reference types="supertest" />
import { MyUser, ResultList, ScopedToken, User, UserAdminFlag, UserCreateResult, UserRole, UserUpdateMe, UserVideoQuota, UserVideoRate } from '../../models';
import { AbstractCommand, OverrideCommandOptions } from '../shared';
export declare class UsersCommand extends AbstractCommand {
    askResetPassword(options: OverrideCommandOptions & {
        email: string;
    }): import("supertest").Test;
    resetPassword(options: OverrideCommandOptions & {
        userId: number;
        verificationString: string;
        password: string;
    }): import("supertest").Test;
    askSendVerifyEmail(options: OverrideCommandOptions & {
        email: string;
    }): import("supertest").Test;
    verifyEmail(options: OverrideCommandOptions & {
        userId: number;
        verificationString: string;
        isPendingEmail?: boolean;
    }): import("supertest").Test;
    banUser(options: OverrideCommandOptions & {
        userId: number;
        reason?: string;
    }): import("supertest").Test;
    unbanUser(options: OverrideCommandOptions & {
        userId: number;
    }): import("supertest").Test;
    getMyScopedTokens(options?: OverrideCommandOptions): Promise<ScopedToken>;
    renewMyScopedTokens(options?: OverrideCommandOptions): import("supertest").Test;
    create(options: OverrideCommandOptions & {
        username: string;
        password?: string;
        videoQuota?: number;
        videoQuotaDaily?: number;
        role?: UserRole;
        adminFlags?: UserAdminFlag;
    }): Promise<UserCreateResult>;
    generate(username: string, role?: UserRole): Promise<{
        token: string;
        userId: number;
        userChannelId: number;
        userChannelName: string;
    }>;
    generateUserAndToken(username: string, role?: UserRole): Promise<string>;
    register(options: OverrideCommandOptions & {
        username: string;
        password?: string;
        displayName?: string;
        channel?: {
            name: string;
            displayName: string;
        };
    }): import("supertest").Test;
    getMyInfo(options?: OverrideCommandOptions): Promise<MyUser>;
    getMyQuotaUsed(options?: OverrideCommandOptions): Promise<UserVideoQuota>;
    getMyRating(options: OverrideCommandOptions & {
        videoId: number | string;
    }): Promise<UserVideoRate>;
    deleteMe(options?: OverrideCommandOptions): import("supertest").Test;
    updateMe(options: OverrideCommandOptions & UserUpdateMe): import("supertest").Test;
    updateMyAvatar(options: OverrideCommandOptions & {
        fixture: string;
    }): import("supertest").Test;
    get(options: OverrideCommandOptions & {
        userId: number;
        withStats?: boolean;
    }): Promise<User>;
    list(options?: OverrideCommandOptions & {
        start?: number;
        count?: number;
        sort?: string;
        search?: string;
        blocked?: boolean;
    }): Promise<ResultList<User>>;
    remove(options: OverrideCommandOptions & {
        userId: number;
    }): import("supertest").Test;
    update(options: OverrideCommandOptions & {
        userId: number;
        email?: string;
        emailVerified?: boolean;
        videoQuota?: number;
        videoQuotaDaily?: number;
        password?: string;
        adminFlags?: UserAdminFlag;
        pluginAuth?: string;
        role?: UserRole;
    }): import("supertest").Test;
}
//# sourceMappingURL=users-command.d.ts.map