/**
 * @class userLocks
 * @memberof flp
 */
export declare class UserLocks {
    private vlf;
    private _srvUserLockInstance;
    private _srvEshInstance;
    private _requestOptions;
    /**
     * @function getNumberOfLockEntries
     * @memberOf flp.userLocks
     * @description Gets the number of lock entries for the given user.
     * @param {String} user - The user name.
     * @param {String} password - The password.
     * @param {String} [technicalUserId] - The technical user ID.
     * @returns {Promise<Number>} The number of lock entries.
     * @example const lockCount = await flp.userLocks.getNumberOfLockEntries("user", "password");
     */
    getNumberOfLockEntries(user: string, password: string, technicalUserId?: string): Promise<number>;
    /**
     * @function deleteExistingLockEntries
     * @memberOf flp.userLocks
     * @description Deletes the existing lock entries for the given user.
     * @param {String} user - The user name.
     * @param {String} password - The password.
     * @param {String} [technicalUserId] - The technical user ID.
     * @example await flp.userLocks.deleteExistingLockEntries("user", "password");
     */
    deleteExistingLockEntries(user: string, password: string, technicalUserId?: string): Promise<void>;
    /**
     * @private
     * @function getLockCount
     * @memberOf flp.userLocks
     * @description Gets the number of locks for the user on the same session.
     * @param {Array} sessions - The sessions.
     * @returns {Number} The number of locks.
     * @example const lockCount = flp.userLocks.getLockCount(sessions);
     */
    private _getLockCount;
    /**
     * @private
     * @function _getSessionId
     * @memberOf flp.userLocks
     * @description Gets the session ID.
     * @param {Array} sessions - The sessions.
     * @returns {String} The session ID.
     * @example const sessionId = flp.userLocks.getSessionId(sessions);
     */
    private _getSessionId;
    /**
     * @private
     * @function _initializeService
     * @memberOf flp.userLocks
     * @description Initializes the service.
     * @param {Object} instance - The service instance.
     * @param {String} serviceName - The service name.
     * @param {String} user - The user name.
     * @param {String} [password] - The password.
     * @returns {Promise<Object>} The service instance.
     */
    private _initializeService;
    /**
     * @private
     * @function _initializeUserLockService
     * @memberOf flp.userLocks
     * @description Initializes the User Lock Service.
     * @param {String} user - The user name.
     * @param {String} password - The password.
     * @returns {Promise<void>}
     */
    private _initializeUserLockService;
    /**
     * @private
     * @function _initializeSearchService
     * @memberOf flp.userLocks
     * @description Initializes the Search Service.
     * @param {String} user - The user name.
     * @param {String} password - The password.
     * @returns {Promise<void>}
     */
    private _initializeSearchService;
    /**
     * @private
     * @function _initializeRequestOptions
     * @memberOf flp.userLocks
     * @description Initializes the request options.
     * @param {String} client - The client number.
     * @param {String} userId - The user ID.
     * @param {String} [sessionId] - The session ID.
     * @returns {void}
     */
    private _initializeRequestOptions;
    /**
     * @private
     * @function _getUserInfo
     * @memberOf flp.userLocks
     * @description Gets the user info.
     * @returns {Promise<UserInfo>} The user info.
     * @throws {Error} If the user info cannot be retrieved.
     * @example const userInfo = await flp.userLocks._getUserInfo();
     * @example util.console.log(userInfo.Id);
     * @example util.console.log(userInfo.Name);
     */
    private _getUserInfo;
    /**
     * @private
     * @function _extractClientFromUrl
     * @memberOf flp.userLocks
     * @description Extracts the client number from the URL.
     * @param {String} url - The URL.
     * @returns {String} The client number.
     * @throws {Error} If the client number cannot be found in the URL.
     * @example const client = flp.userLocks.extractClientFromUrl("https://www-123.example.com");
     * @example console.log(client);
     * @example // Output: 123
     */
    private _extractClientFromUrl;
    /**
     * @private
     * @function _getSession
     * @memberOf flp.userLocks
     * @description Gets the session.
     * @returns {Promise<any>} The session.
     * @example const session = await flp.userLocks.getSession();
     */
    private _getSession;
    /**
     * @private
     * @function _deleteLockEntries
     * @memberOf flp.userLocks
     * @description Deletes the lock entries.
     * @returns {Promise<void>}
     * @example await flp.userLocks.deleteLockEntries();
     */
    private _deleteLockEntries;
}
declare const _default: UserLocks;
export default _default;
