// File generated from our OpenAPI spec by Stainless.
import { APIResource } from 'cloudflare/resource';
import * as DEXTestsAPI from 'cloudflare/resources/zero-trust/devices/dex-tests';
import * as NetworksAPI from 'cloudflare/resources/zero-trust/devices/networks';
import * as OverrideCodesAPI from 'cloudflare/resources/zero-trust/devices/override-codes';
import * as RevokesAPI from 'cloudflare/resources/zero-trust/devices/revokes';
import * as SettingsAPI from 'cloudflare/resources/zero-trust/devices/settings';
import * as UnrevokesAPI from 'cloudflare/resources/zero-trust/devices/unrevokes';
import * as PoliciesAPI from 'cloudflare/resources/zero-trust/devices/policies/policies';
import * as PostureAPI from 'cloudflare/resources/zero-trust/devices/posture/posture';
export class Devices extends APIResource {
    constructor() {
        super(...arguments);
        this.dexTests = new DEXTestsAPI.DEXTests(this._client);
        this.networks = new NetworksAPI.Networks(this._client);
        this.policies = new PoliciesAPI.Policies(this._client);
        this.posture = new PostureAPI.Posture(this._client);
        this.revokes = new RevokesAPI.Revokes(this._client);
        this.settings = new SettingsAPI.Settings(this._client);
        this.unrevokes = new UnrevokesAPI.Unrevokes(this._client);
        this.overrideCodes = new OverrideCodesAPI.OverrideCodes(this._client);
    }
    /**
     * Fetches a list of enrolled devices.
     */
    list(params, options) {
        const { account_id } = params;
        return this._client.get(`/accounts/${account_id}/devices`, options)._thenUnwrap((obj) => obj.result);
    }
    /**
     * Fetches details for a single device.
     */
    get(deviceId, params, options) {
        const { account_id } = params;
        return this._client.get(`/accounts/${account_id}/devices/${deviceId}`, options)._thenUnwrap((obj) => obj.result);
    }
}
(function (Devices) {
    Devices.DEXTests = DEXTestsAPI.DEXTests;
    Devices.Networks = NetworksAPI.Networks;
    Devices.Policies = PoliciesAPI.Policies;
    Devices.Posture = PostureAPI.Posture;
    Devices.Revokes = RevokesAPI.Revokes;
    Devices.Settings = SettingsAPI.Settings;
    Devices.Unrevokes = UnrevokesAPI.Unrevokes;
    Devices.OverrideCodes = OverrideCodesAPI.OverrideCodes;
})(Devices || (Devices = {}));
//# sourceMappingURL=devices.mjs.map