"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("./utils");
const w_char_js_1 = __importDefault(require("./w_char.js"));
const ffi_napi_1 = __importDefault(require("ffi-napi"));
const EZDLL = (base_dir) => ffi_napi_1.default.Library((0, utils_1.getDllPath)(base_dir), {
    ClientLogonEx: ['int32', ['int32', 'int32', w_char_js_1.default, 'int32', 'int32', 'int32', 'int32', 'int32', 'int32']],
    ResultString: [w_char_js_1.default, ['int32']],
    TestConnection: ['int32', []],
    // DllVersion: ['int32', []],
    // ServerVersion: ['int32', []],
    ClientLogoff: ['int32', []],
    // ClientStatus: ['int32', []],
    // LicenseStatus: ['int32', []],
    // GetLicenseType: ['int32', []],
    // GetIniValue: ['int32', []],
    // SetIniValue: ['int32', []],
    // GetClientsCount: ['int32', []],
    SetDateTime: ['int32', ['double']],
    // GetDateTime: ['int32', []],
    // CheckSocketClosed: ['int32', []],
    // ProcessEvents: ['int32', []],
    // GetEventsCount: ['int32', []],
    // GetNextEventType: ['int32', []],
    // DiscardNextEvent: ['int32', []],
    // GetNextPumpEvent: ['int32', []],
    // GetNextPumpEventEx: ['int32', []],
    // GetNextPumpEventEx2: ['int32', []],
    // GetNextPumpEventEx3: ['int32', []],
    // GetNextDeliveryEventEx: ['int32', []],
    // GetNextDeliveryEventEx2: ['int32', []],
    // GetNextDeliveryEventEx3: ['int32', []],
    // GetNextDeliveryEventEx4: ['int32', []],
    // GetNextServerEvent: ['int32', []],
    // GetNextClientEvent: ['int32', []],
    // FireClientEvent: ['int32', []],
    // GetNextDBLogEvent: ['int32', []],
    // GetNextDBLogDeliveryEvent: ['int32', []],
    // GetNextZB2GStatusEvent: ['int32', []],
    // GetNextDBClearDeliveryEvent: ['int32', []],
    // GetNextDBStackDeliveryEvent: ['int32', []],
    // GetNextDBHoseETotalsEvent: ['int32', []],
    // GetNextDBHoseETotalsEventEx: ['int32', []],
    // GetNextDBTriggerEvent: ['int32', []],
    // GetNextAttendantLogonEvent: ['int32', []],
    // GetNextAttendantLogoffEvent: ['int32', []],
    // GetNextDBTankStatusEvent: ['int32', []],
    // GetNextDBTankStatusEventEx: ['int32', []],
    // GetNextDBTankStatusEventEx2: ['int32', []],
    // GetNextCardReadEvent: ['int32', []],
    // GetNextLogEventEvent: ['int32', []],
    // GetNextZeroDeliveryEvent: ['int32', []],
    GetPumpsCount: ['int32', ['int32*']],
    // GetPumpByNumber: ['int32', []],
    // GetPumpByName: ['int32', []],
    GetPumpByOrdinal: ['int32', ['int32', 'int32*']],
    // GetPumpProperties: ['int32', []],
    GetPumpPropertiesEx: [
        'int32',
        [
            'int32',
            'int32*',
            w_char_js_1.default,
            'int16*',
            'int16*',
            'int16*',
            'int16*',
            'int16*',
            'int16*',
            'int16*',
            'int16*',
            'int16*',
            'int32*',
            'int32*',
            'int16*',
            'int16*',
            'int16*',
            'int16*',
            'int32*',
            'int32*',
            'int16*',
            'int16*',
        ],
    ],
    // SetPumpProperties: ['int32', []],
    // SetPumpPropertiesEx: ['int32', []],
    // DeletePump: ['int32', []],
    // GetPumpHosesCount: ['int32', []],
    GetPumpHoseByNumber: ['int32', ['int32', 'int32', 'int32*']],
    // GetPumpStatus: ['int32', []],
    // GetPumpStatusEx: ['int32', []],
    // GetPumpStatusEx2: ['int32', []],
    // PumpStateString: ['string', []],
    // EnablePump: ['int32', []],
    // DisablePump: ['int32', []],
    // SetPumpDefaultPriceLevel: ['int32', []],
    // GetDensity: ['int32', []],
    // ScheduleBeep: ['int32', []],
    // FlashLEDS: ['int32', []],
    // PrepayReserve: ['int32', []],
    // PrepayCancel: ['int32', []],
    // PrepayAuthorise: ['int32', []],
    // PreauthReserve: ['int32', []],
    // PreauthCancel: ['int32', []],
    // PreauthAuthorise: ['int32', []],
    // PaymentReserve: ['int32', []],
    // PaymentCancel: ['int32', []],
    // PaymentAuthorise: ['int32', []],
    // AttendantAuthorise: ['int32', []],
    // Authorise: ['int32', []],
    // CancelAuthorise: ['int32', []],
    // TempStop: ['int32', []],
    // ReAuthorise: ['int32', []],
    // TerminateDelivery: ['int32', []],
    // LoadPreset: ['int32', []],
    // LoadPresetWithPrice: ['int32', []],
    // TagAuthorise: ['int32', []],
    // AllStop: ['int32', []],
    // AllAuthorise: ['int32', []],
    // AllReAuthorise: ['int32', []],
    // AllStopIfIdle: ['int32', []],
    // ReadAllTanks: ['int32', []],
    GetAllPumpStatuses: ['int32', [w_char_js_1.default, w_char_js_1.default, w_char_js_1.default]],
    GetDeliveriesCount: ['int32', ['int32*']],
    GetDeliveryByOrdinal: ['int32', ['int32', 'int32*']],
    // GetDeliveryProperties: ['int32', []],
    // GetDeliveryPropertiesEx: ['int32', []],
    // GetDeliveryPropertiesEx2: ['int32', []],
    // GetDeliveryPropertiesEx3: ['int32', []],
    GetDeliveryPropertiesEx4: [
        'int32',
        [
            'int32',
            'int32*',
            'int16*',
            'int16*',
            'double*',
            'int16*',
            'double*',
            'double*',
            'double*',
            'double*',
            'int32*',
            'int32*',
            'int32*',
            'int32*',
            'double*',
            'double*',
            'double*',
            'double*',
            'double*',
            'double*',
            'double*',
            'int64*',
            'int32*',
            'int32*',
            'double*',
        ],
    ],
    // SetDeliveryProperties: ['int32', []],
    // SetDeliveryPropertiesEx: ['int32', []],
    // SetDeliveryPropertiesEx2: ['int32', []],
    // SetDeliveryPropertiesEx3: ['int32', []],
    // SetDeliveryPropertiesEx4: ['int32', []],
    LockDelivery: ['int32', ['int32']],
    UnlockDelivery: ['int32', ['int32']],
    ClearDelivery: ['int32', ['int32', 'int16']],
    // LockAndClearDelivery: ['int32', []],
    // SetNextDeliveryID: ['int32', []],
    // AckDeliveryDBLog: ['int32', []],
    // GetDeliveryIDByOrdinalNotLogged: ['int32', []],
    // GetDeliveriesCountNotLogged: ['int32', []],
    // AckDeliveryVolLog: ['int32', []],
    // GetDeliveryIDByOrdinalNotVolLogged: ['int32', []],
    // GetDeliveriesCountNotVolLogged: ['int32', []],
    // GetAllDeliveriesCount: ['int32', []],
    // GetAllDeliveryByOrdinal: ['int32', []],
    // GetDeliverySummary: ['int32', []],
    // GetDeliverySummaryEx: ['int32', []],
    // GetDeliverySummaryEx2: ['int32', []],
    // GetDeliverySummaryEx3: ['int32', []],
    // SetDeliveryExt: ['int32', []],
    // GetDeliveryExt: ['int32', []],
    // GetPumpDeliveryProperties: ['int32', []],
    // GetPumpDeliveryPropertiesEx: ['int32', []],
    // GetPumpDeliveryPropertiesEx2: ['int32', []],
    // GetPumpDeliveryPropertiesEx3: ['int32', []],
    // GetPumpDeliveryPropertiesEx4: ['int32', []],
    // ReserveTypestring: ['string', []],
    // GetDuration: ['int32', []],
    // StackCurrentDelivery: ['int32', []],
    // DeliveryStatestring: ['string', []],
    // DeliveryTypestring: ['string', []],
    GetHosesCount: ['int32', ['int32*']],
    GetHoseByOrdinal: ['int32', ['int32', 'int32*']],
    // GetHoseProperties: ['int32', []],
    // GetHosePropertiesEx: ['int32', []],
    GetHosePropertiesEx2: [
        'int32',
        [
            'int32',
            'int32*',
            'int32*',
            'int32*',
            'int32*',
            'double*',
            'double*',
            'double*',
            'double*',
            'int16*',
            'double*',
            'double*',
            'int16*',
        ],
    ],
    // SetHoseProperties: ['int32', []],
    // SetHosePropertiesEx: ['int32', []],
    // SetHosePropertiesEx2: ['int32', []],
    // DeleteHose: ['int32', []],
    // GetHosePrices: ['int32', []],
    // GetHoseSummary: ['int32', []],
    GetHoseSummaryEx: [
        'int32',
        [
            'int32',
            'int32*',
            'int32*',
            'int32*',
            'int32*',
            w_char_js_1.default,
            'int32*',
            'int32*',
            w_char_js_1.default,
            'int32*',
            'int32*',
            w_char_js_1.default,
            w_char_js_1.default,
            w_char_js_1.default,
            'double*',
            'double*',
            'double*',
            'double*',
            'double*',
            'double*',
            'int16*',
        ],
    ],
    // SetHoseETotals: ['int32', []],
    SetHosePrices: ['int32', ['int32', 'int16', 'int16', 'double', 'double']],
    // SetHosePricesMT: ['int32', []],
    GetGradesCount: ['int32', ['int32*']],
    // GetGradeByNumber: ['int32', []],
    // GetGradeByName: ['int32', []],
    GetGradeByOrdinal: ['int32', ['int32', 'int32*']],
    // GetGradeProperties: ['int32', []],
    GetGradePropertiesEx: ['int32', ['int32', 'int32*', w_char_js_1.default, w_char_js_1.default, w_char_js_1.default, 'int16*']],
    // SetGradeProperties: ['int32', []],
    SetGradePropertiesEx: ['int32', ['int32', 'int32', w_char_js_1.default, w_char_js_1.default, w_char_js_1.default, 'int16']],
    DeleteGrade: ['int32', ['int32']],
    SetGradePrice: ['int32', ['int32', 'int16', 'double']],
    GetGradePrice: ['int32', ['int32', 'int16', 'double*']],
    GetTanksCount: ['int32', ['int32*']],
    // GetTankByNumber: ['int32', []],
    // GetTankByName: ['int32', []],
    GetTankByOrdinal: ['int32', ['int32', 'int32*']],
    // GetTankProperties: ['int32', []],
    GetTankPropertiesEx: [
        'int32',
        [
            'int32',
            'int32*',
            w_char_js_1.default,
            'int32*',
            'int16*',
            'double*',
            'double*',
            'double*',
            'double*',
            'double*',
            'double*',
            'double*',
            'double*',
            'double*',
            'double*',
            'int32*',
            'int16*',
            'int32*',
        ],
    ],
    // SetTankProperties: ['int32', []],
    // SetTankPropertiesEx: ['int32', []],
    // DeleteTank: ['int32', []],
    // GetTankSummary: ['int32', []],
    // GetTankSummaryEx: ['int32', []],
    // GetPortsCount: ['int32', []],
    // GetPortByNumber: ['int32', []],
    // GetPortByName: ['int32', []],
    // GetPortByOrdinal: ['int32', []],
    // GetPortProperties: ['int32', []],
    // SetPortProperties: ['int32', []],
    // RemovePort: ['int32', []],
    // GetZB2GConfig: ['int32', []],
    // GetSerialNo: ['int32', []],
    // GetDeviceDetails: ['int32', []],
    // ResetDevice: ['int32', []],
    // RequestVersion: ['int32', []],
    GetAttendantsCount: ['int32', ['int32*']],
    GetAttendantByOrdinal: ['int32', ['int32', 'int32*']],
    // GetAttendantByNumber: ['int32', []],
    // GetAttendantByName: ['int32', []],
    // GetAttendantProperties: ['int32', []],
    GetAttendantPropertiesEx: [
        'int32',
        ['int32', 'int32*', w_char_js_1.default, w_char_js_1.default, w_char_js_1.default, w_char_js_1.default, 'int16*', 'int16*', 'int16*', 'int16*', 'int16*'],
    ],
    // SetAttendantProperties: ['int32', []],
    // SetAttendantPropertiesEx: ['int32', []],
    // GetAttendantState: ['int32', []],
    // DeleteAttendant: ['int32', []],
    // AttendantLogon: ['int32', []],
    // AttendantLogoff: ['int32', []],
    GetCardClientsCount: ['int32', ['int32*']],
    GetCardClientByOrdinal: ['int32', ['int32', 'int32*']],
    // GetCardClientByNumber: ['int32', []],
    // GetCardClientByName: ['int32', []],
    // GetCardClientProperties: ['int32', []],
    // GetCardClientPropertiesEx: ['int32', []],
    GetCardClientPropertiesEx2: [
        'int32',
        [
            'int32',
            'int32*',
            w_char_js_1.default,
            w_char_js_1.default,
            'int16*',
            'int16*',
            w_char_js_1.default,
            'int16*',
            'int16*',
            'int16*',
            'double*',
            'int16*',
            'double*',
            'int64*',
        ],
    ],
    // SetCardClientProperties: ['int32', []],
    // SetCardClientPropertiesEx: ['int32', []],
    // SetCardClientPropertiesEx2: ['int32', []],
    // DeleteCardClient: ['int32', []],
    // GetCardReadsCount: ['int32', []],
    // GetCardReadByNumber: ['int32', []],
    // GetCardReadByName: ['int32', []],
    // GetCardReadByOrdinal: ['int32', []],
    // GetCardReadProperties: ['int32', []],
    // SetCardReadProperties: ['int32', []],
    // DeleteCardRead: ['int32', []],
    // GetCardType: ['int32', []],
    // GetZigBeeCount: ['int32', []],
    // GetZigBeeByNumber: ['int32', []],
    // GetZigBeeByName: ['int32', []],
    // GetZigBeeByOrdinal: ['int32', []],
    // GetZigBeeProperties: ['int32', []],
    // SetZigBeeProperties: ['int32', []],
    // DeleteZigBee: ['int32', []],
    // GetSensorsCount: ['int32', []],
    // GetSensorByNumber: ['int32', []],
    // GetSensorByName: ['int32', []],
    // GetSensorByOrdinal: ['int32', []],
    // GetSensorProperties: ['int32', []],
    // SetSensorProperties: ['int32', []],
    // SetSensorStatus: ['int32', []],
    // GetSensorStatus: ['int32', []],
    // DeleteSensor: ['int32', []],
    // GetLogEventCount: ['int32', []],
    // GetLogEventByOrdinal: ['int32', []],
    // GetLogEventProperties: ['int32', []],
    // SetLogEventProperties: ['int32', []],
    // DeleteLogEvent: ['int32', []],
    // ClearLogEvent: ['int32', []],
    // AckLogEvent: ['int32', []],
    // SetClientType: ['int32', []],
    // SetSaleItemProperties: ['int32', []],
    // DeleteSaleItem: ['int32', []],
    // SaleItemLock: ['int32', []],
    // SaleItemUnlock: ['int32', []],
    // SaleItemClear: ['int32', []],
    // SaleItemLockAndClear: ['int32', []],
    // SaleItemAckDBLog: ['int32', []],
    // SaleItemAckVolLog: ['int32', []],
    // GetSaleItemProperties: ['int32', []],
    // GetSaleItemsCount: ['int32', []],
    // GetSaleItemByOrdinal: ['int32', []],
    // GetSaleItemsCountEx: ['int32', []],
    // GetSaleItemByOrdinalEx: ['int32', []],
    // GetSaleItemSummary: ['int32', []],
});
exports.default = EZDLL;
