// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
import { APIResource } from 'cloudflaredev/resource';
import { isRequestOptions } from 'cloudflaredev/core';
import * as BotClassAPI from 'cloudflaredev/resources/radar/http/ases/bot-class';
import * as DeviceTypeAPI from 'cloudflaredev/resources/radar/http/ases/device-type';
import * as HTTPMethodAPI from 'cloudflaredev/resources/radar/http/ases/http-method';
import * as HTTPProtocolAPI from 'cloudflaredev/resources/radar/http/ases/http-protocol';
import * as IPVersionAPI from 'cloudflaredev/resources/radar/http/ases/ip-version';
import * as OSAPI from 'cloudflaredev/resources/radar/http/ases/os';
import * as TLSVersionAPI from 'cloudflaredev/resources/radar/http/ases/tls-version';
export class Ases extends APIResource {
    constructor() {
        super(...arguments);
        this.botClass = new BotClassAPI.BotClass(this._client);
        this.deviceType = new DeviceTypeAPI.DeviceType(this._client);
        this.httpProtocol = new HTTPProtocolAPI.HTTPProtocol(this._client);
        this.httpMethod = new HTTPMethodAPI.HTTPMethod(this._client);
        this.ipVersion = new IPVersionAPI.IPVersion(this._client);
        this.os = new OSAPI.OS(this._client);
        this.tlsVersion = new TLSVersionAPI.TLSVersion(this._client);
    }
    get(query = {}, options) {
        if (isRequestOptions(query)) {
            return this.get({}, query);
        }
        return this._client.get('/radar/http/top/ases', { query, ...options })._thenUnwrap((obj) => obj.result);
    }
}
(function (Ases) {
    Ases.BotClass = BotClassAPI.BotClass;
    Ases.DeviceType = DeviceTypeAPI.DeviceType;
    Ases.HTTPProtocol = HTTPProtocolAPI.HTTPProtocol;
    Ases.HTTPMethod = HTTPMethodAPI.HTTPMethod;
    Ases.IPVersion = IPVersionAPI.IPVersion;
    Ases.OS = OSAPI.OS;
    Ases.TLSVersion = TLSVersionAPI.TLSVersion;
})(Ases || (Ases = {}));
//# sourceMappingURL=ases.mjs.map