import { RequestUser } from '../common/request-user';
import { CreateGateDto, UpdateGateDto } from './dto/gate.dto';
import { GatesService } from './gates.service';
export declare class GatesController {
    private readonly gatesService;
    constructor(gatesService: GatesService);
    findAll(user: RequestUser, estateId?: string): import(".prisma/client").Prisma.PrismaPromise<({
        _count: {
            guards: number;
            sessions: number;
        };
    } & {
        description: string | null;
        type: import(".prisma/client").$Enums.EstateGateType;
        id: string;
        metadata: import("@prisma/client/runtime/library").JsonValue;
        estateId: string;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        isActive: boolean;
    })[]>;
    create(dto: CreateGateDto, user: RequestUser): Promise<{
        description: string | null;
        type: import(".prisma/client").$Enums.EstateGateType;
        id: string;
        metadata: import("@prisma/client/runtime/library").JsonValue;
        estateId: string;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        isActive: boolean;
    }>;
    update(id: string, dto: UpdateGateDto, user: RequestUser): Promise<{
        description: string | null;
        type: import(".prisma/client").$Enums.EstateGateType;
        id: string;
        metadata: import("@prisma/client/runtime/library").JsonValue;
        estateId: string;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        isActive: boolean;
    }>;
}
