import type { AttendanceRecord, ConnectCallbacks, CreateUserInput, DeleteAttendanceCriteria, DeviceInfo, FingerprintTemplateIndex, GetUserAttendancesOptions, RealTimeLog, UpdateUserInput, User, UserSearchCriteria, ZKTecoClientOptions } from "./types.ts"; export declare class ZKTecoClient { readonly ip: string; readonly port: number; readonly timeout: number; readonly udpPort: number; readonly openDoorDelaySec: number; readonly commKey: number; connectionType: "tcp" | "udp" | null; private transport; private readonly tcp; private readonly udp; constructor(options: ZKTecoClientOptions); constructor(ip: string, port?: number, timeout?: number, udpPort?: number); get isConnected(): boolean; private get recordPacketSize(); private run; connect(callbacks?: ConnectCallbacks): Promise; private verifyDevice; /** @deprecated Use connect() */ createSocket: (callbacks?: ConnectCallbacks) => Promise; disconnect(): Promise; getInfo(): Promise; getUsers(): Promise; getFingerprintTemplates(): Promise; getUserById(userId: string): Promise; getUserByUid(uid: number): Promise; /** * Search users by free-text query or specific fields (name, userId, uid, cardno, role). * Pass a string to search across name, userId, uid, and card number. */ searchUsers(criteria: string | UserSearchCriteria): Promise; /** Returns the first user matching the search criteria, or null. */ searchUser(criteria: string | UserSearchCriteria): Promise; private nextUid; private writeUserWithRefresh; createUser(input: CreateUserInput): Promise; updateUser(userId: string, input: UpdateUserInput): Promise; deleteUser(ref: number | string): Promise; getAttendances(onProgress?: (received: number, total: number) => void): Promise; /** * Get attendance records for a specific user. * The device returns all logs — this method filters by userId client-side. */ getUserAttendances(userId: string, options?: GetUserAttendancesOptions): Promise; /** * Get attendance records for a user by device uid. */ getUserAttendancesByUid(uid: number, options?: GetUserAttendancesOptions): Promise; clearAttendanceLog(): Promise; /** Wipes all device data: users, fingerprints, attendance logs, and admin settings. */ resetDevice(): Promise; replaceAttendanceLog(records: AttendanceRecord[]): Promise; deleteAttendanceRecord(criteria: DeleteAttendanceCriteria): Promise; disableDevice(): Promise; enableDevice(): Promise; refreshData(): Promise; openDoor(delaySec?: number): Promise; getTime(): Promise; setTime(date?: Date): Promise; getRealTimeLogs(callback: (log: RealTimeLog) => void): Promise; executeCmd(command: number, data?: Buffer | string): Promise; freeData(): Promise; } export default ZKTecoClient; //# sourceMappingURL=client.d.ts.map