import type { Request } from 'express';
import { AuthRequestUser } from '../auth/interfaces/auth-request-user.interface';
import { CreateUserDto } from './dto/create-user.dto';
import { ListUsersQueryDto } from './dto/list-users-query.dto';
import { UpdateUserDto } from './dto/update-user.dto';
import { UsersService } from './users.service';
export declare class UsersController {
    private readonly usersService;
    constructor(usersService: UsersService);
    listUsers(query: ListUsersQueryDto): Promise<import("./users.service").AdminUsersListResponse>;
    listAssignableUsers(): Promise<import("./users.service").AdminUserRecord[]>;
    listSeoManagers(): Promise<import("./users.service").AdminUserRecord[]>;
    createUser(dto: CreateUserDto, request: Request & {
        user: AuthRequestUser;
    }): Promise<import("./users.service").AdminUserRecord>;
    updateUser(userId: string, dto: UpdateUserDto, request: Request & {
        user: AuthRequestUser;
    }): Promise<import("./users.service").AdminUserRecord>;
    deleteUser(userId: string, request: Request & {
        user: AuthRequestUser;
    }): Promise<import("./users.service").AdminUserRecord>;
    restoreUser(userId: string, request: Request & {
        user: AuthRequestUser;
    }): Promise<import("./users.service").AdminUserRecord>;
}
