import { AdminService } from './admin.service';
import { AuthenticatedUser } from '../auth/strategies/jwt.strategy';
import { AdminAuditLogDto, AdminGroupDetailDto, AdminGroupListItemDto, AdminOverviewDto, AdminUpdateGroupDto, AdminUpdateUserDto, AdminUserDetailDto, AdminUserListItemDto, PaginatedDto } from './dto/admin.dto';
export declare class AdminController {
    private readonly adminService;
    constructor(adminService: AdminService);
    getMe(user: AuthenticatedUser): Promise<{
        id: string;
        email: string;
        name: string;
        isPlatformAdmin: boolean;
    }>;
    getOverview(): Promise<AdminOverviewDto>;
    listUsers(q: string | undefined, page: number, pageSize: number): Promise<PaginatedDto<AdminUserListItemDto>>;
    getUser(id: string): Promise<AdminUserDetailDto>;
    updateUser(actor: AuthenticatedUser, id: string, dto: AdminUpdateUserDto): Promise<AdminUserDetailDto>;
    deleteUser(actor: AuthenticatedUser, id: string): Promise<{
        message: string;
    }>;
    listGroups(q: string | undefined, page: number, pageSize: number): Promise<PaginatedDto<AdminGroupListItemDto>>;
    getGroup(id: string): Promise<AdminGroupDetailDto>;
    updateGroup(actor: AuthenticatedUser, id: string, dto: AdminUpdateGroupDto): Promise<AdminGroupDetailDto>;
    deleteGroup(actor: AuthenticatedUser, id: string): Promise<{
        message: string;
    }>;
    listAudit(page: number, pageSize: number): Promise<PaginatedDto<AdminAuditLogDto>>;
}
