import { z } from 'zod';
export declare const requestDeviceChangeSchema: z.ZodObject<{
    device_id: z.ZodString;
    device_name: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
    reason: z.ZodString;
}, z.core.$strip>;
export declare const reviewDeviceChangeSchema: z.ZodObject<{
    status: z.ZodEnum<{
        approved: "approved";
        rejected: "rejected";
    }>;
    admin_note: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
}, z.core.$strip>;
export declare const deviceChangeFilterSchema: z.ZodObject<{
    status: z.ZodOptional<z.ZodEnum<{
        all: "all";
        pending: "pending";
        approved: "approved";
        rejected: "rejected";
    }>>;
    member_id: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const teacherDeviceResponseSchema: z.ZodObject<{
    id: z.ZodString;
    member_id: z.ZodString;
    device_id: z.ZodString;
    device_name: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    last_ip: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    bound_at: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>;
    last_active_at: z.ZodOptional<z.ZodPipe<z.ZodNullable<z.ZodDate>, z.ZodTransform<string, Date>>>;
    member: z.ZodOptional<z.ZodObject<{
        id: z.ZodString;
        first_name: z.ZodString;
        last_name: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        employee_id: z.ZodString;
        work_email: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    created_at: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>;
    updated_at: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>;
}, z.core.$strip>;
export declare const deviceChangeRequestResponseSchema: z.ZodObject<{
    id: z.ZodString;
    member_id: z.ZodString;
    owner_id: z.ZodString;
    old_device_id: z.ZodString;
    new_device_id: z.ZodString;
    new_device_name: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    reason: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    status: z.ZodEnum<{
        pending: "pending";
        approved: "approved";
        rejected: "rejected";
    }>;
    reviewed_by_id: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    reviewed_at: z.ZodOptional<z.ZodPipe<z.ZodNullable<z.ZodDate>, z.ZodTransform<string, Date>>>;
    admin_note: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    member: z.ZodOptional<z.ZodObject<{
        id: z.ZodString;
        first_name: z.ZodString;
        last_name: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        employee_id: z.ZodString;
        work_email: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    created_at: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>;
    updated_at: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>;
}, z.core.$strip>;
export declare const deviceChangeRequestListSchema: z.ZodArray<z.ZodObject<{
    id: z.ZodString;
    member_id: z.ZodString;
    owner_id: z.ZodString;
    old_device_id: z.ZodString;
    new_device_id: z.ZodString;
    new_device_name: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    reason: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    status: z.ZodEnum<{
        pending: "pending";
        approved: "approved";
        rejected: "rejected";
    }>;
    reviewed_by_id: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    reviewed_at: z.ZodOptional<z.ZodPipe<z.ZodNullable<z.ZodDate>, z.ZodTransform<string, Date>>>;
    admin_note: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
    member: z.ZodOptional<z.ZodObject<{
        id: z.ZodString;
        first_name: z.ZodString;
        last_name: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
        employee_id: z.ZodString;
        work_email: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    created_at: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>;
    updated_at: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>>>;
}, z.core.$strip>>;
export type RequestDeviceChangeDto = z.infer<typeof requestDeviceChangeSchema>;
export type ReviewDeviceChangeDto = z.infer<typeof reviewDeviceChangeSchema>;
export type DeviceChangeFilterDto = z.infer<typeof deviceChangeFilterSchema>;
export type TeacherDeviceResponseDto = z.infer<typeof teacherDeviceResponseSchema>;
export type DeviceChangeRequestResponseDto = z.infer<typeof deviceChangeRequestResponseSchema>;
