import { User } from "../models/User";
import { ZTCP } from "../ztcp";
import { Finger } from "../models/Finger";
export declare class UserService {
    _zkTcp: ZTCP;
    _users: Map<string, User>;
    constructor(zkTcp: ZTCP);
    getUserByUserId(user_id: string): Promise<User>;
    getUsers(): Promise<{
        data: User[];
    }>;
    setUser(user_id: string, name: string, password: string, role?: number, cardno?: number): Promise<boolean>;
    DeleteUser(user_id: string): Promise<boolean>;
    getTemplates(cb?: Function): Promise<Record<string, Finger[]>>;
    DownloadFp(user_id: string, fid: number): Promise<Finger>;
    /**
     *
     * @param user_id {string} user
     * @param fingers {Finger[]} array of finger templates instances
     * */
    saveTemplates(user_id: string, fingers?: Finger[]): Promise<void>;
    deleteFinger(user_id?: string, fid?: number): Promise<boolean>;
    enrollInfo(user_id: string, tempId: number): Promise<unknown>;
    verify(user_id: string): Promise<boolean>;
    /**
     * Upload a single fingerprint for a given user id
     * @param user_id {string} user id for customer
     * @param fingerTemplate {string} finger template in base64 string
     * @param fid {number} finger id is a number between 0 and 9
     * @param fp_valid {number} finger flag. e.g., valid=1, duress=3
     */
    uploadFingerTemplate(user_id: string, fingerTemplate: string, fid: number, fp_valid: number): Promise<boolean>;
}
