import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as meraki from "@pulumi/meraki";
 *
 * const example = meraki.networks.getSmDevices({
 *     endingBefore: "string",
 *     fields: ["string"],
 *     ids: ["string"],
 *     networkId: "string",
 *     perPage: 1,
 *     scopes: ["string"],
 *     serials: ["string"],
 *     startingAfter: "string",
 *     systemTypes: ["string"],
 *     uuids: ["string"],
 *     wifiMacs: ["string"],
 * });
 * export const merakiNetworksSmDevicesExample = example.then(example => example.items);
 * ```
 */
export declare function getSmDevices(args: GetSmDevicesArgs, opts?: pulumi.InvokeOptions): Promise<GetSmDevicesResult>;
/**
 * A collection of arguments for invoking getSmDevices.
 */
export interface GetSmDevicesArgs {
    /**
     * endingBefore query parameter. A token used by the server to indicate the end of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
     */
    endingBefore?: string;
    /**
     * fields query parameter. Additional fields that will be displayed for each device.
     * The default fields are: id, name, tags, ssid, wifiMac, osName, systemModel, uuid, and serialNumber. The additional fields are: ip,
     * systemType, availableDeviceCapacity, kioskAppName, biosVersion, lastConnected, missingAppsCount, userSuppliedAddress, location, lastUser,
     * ownerEmail, ownerUsername, osBuild, publicIp, phoneNumber, diskInfoJson, deviceCapacity, isManaged, hadMdm, isSupervised, meid, imei, iccid,
     * simCarrierNetwork, cellularDataUsed, isHotspotEnabled, createdAt, batteryEstCharge, quarantined, avName, avRunning, asName, fwName,
     * isRooted, loginRequired, screenLockEnabled, screenLockDelay, autoLoginDisabled, autoTags, hasMdm, hasDesktopAgent, diskEncryptionEnabled,
     * hardwareEncryptionCaps, passCodeLock, usesHardwareKeystore, androidSecurityPatchVersion, cellular, and url.
     */
    fields?: string[];
    /**
     * ids query parameter. Filter devices by id(s).
     */
    ids?: string[];
    /**
     * networkId path parameter. Network ID
     */
    networkId: string;
    /**
     * perPage query parameter. The number of entries per page returned. Acceptable range is 3 1000. Default is 1000.
     */
    perPage?: number;
    /**
     * scope query parameter. Specify a scope (one of all, none, withAny, withAll, withoutAny, or withoutAll) and a set of tags.
     */
    scopes?: string[];
    /**
     * serials query parameter. Filter devices by serial(s).
     */
    serials?: string[];
    /**
     * startingAfter query parameter. A token used by the server to indicate the start of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
     */
    startingAfter?: string;
    /**
     * systemTypes query parameter. Filter devices by system type(s).
     */
    systemTypes?: string[];
    /**
     * uuids query parameter. Filter devices by uuid(s).
     */
    uuids?: string[];
    /**
     * wifiMacs query parameter. Filter devices by wifi mac(s).
     */
    wifiMacs?: string[];
}
/**
 * A collection of values returned by getSmDevices.
 */
export interface GetSmDevicesResult {
    /**
     * endingBefore query parameter. A token used by the server to indicate the end of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
     */
    readonly endingBefore?: string;
    /**
     * fields query parameter. Additional fields that will be displayed for each device.
     * The default fields are: id, name, tags, ssid, wifiMac, osName, systemModel, uuid, and serialNumber. The additional fields are: ip,
     * systemType, availableDeviceCapacity, kioskAppName, biosVersion, lastConnected, missingAppsCount, userSuppliedAddress, location, lastUser,
     * ownerEmail, ownerUsername, osBuild, publicIp, phoneNumber, diskInfoJson, deviceCapacity, isManaged, hadMdm, isSupervised, meid, imei, iccid,
     * simCarrierNetwork, cellularDataUsed, isHotspotEnabled, createdAt, batteryEstCharge, quarantined, avName, avRunning, asName, fwName,
     * isRooted, loginRequired, screenLockEnabled, screenLockDelay, autoLoginDisabled, autoTags, hasMdm, hasDesktopAgent, diskEncryptionEnabled,
     * hardwareEncryptionCaps, passCodeLock, usesHardwareKeystore, androidSecurityPatchVersion, cellular, and url.
     */
    readonly fields?: string[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * ids query parameter. Filter devices by id(s).
     */
    readonly ids?: string[];
    /**
     * Array of ResponseSmGetNetworkSmDevices
     */
    readonly items: outputs.networks.GetSmDevicesItem[];
    /**
     * networkId path parameter. Network ID
     */
    readonly networkId: string;
    /**
     * perPage query parameter. The number of entries per page returned. Acceptable range is 3 1000. Default is 1000.
     */
    readonly perPage?: number;
    /**
     * scope query parameter. Specify a scope (one of all, none, withAny, withAll, withoutAny, or withoutAll) and a set of tags.
     */
    readonly scopes?: string[];
    /**
     * serials query parameter. Filter devices by serial(s).
     */
    readonly serials?: string[];
    /**
     * startingAfter query parameter. A token used by the server to indicate the start of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
     */
    readonly startingAfter?: string;
    /**
     * systemTypes query parameter. Filter devices by system type(s).
     */
    readonly systemTypes?: string[];
    /**
     * uuids query parameter. Filter devices by uuid(s).
     */
    readonly uuids?: string[];
    /**
     * wifiMacs query parameter. Filter devices by wifi mac(s).
     */
    readonly wifiMacs?: string[];
}
/**
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as meraki from "@pulumi/meraki";
 *
 * const example = meraki.networks.getSmDevices({
 *     endingBefore: "string",
 *     fields: ["string"],
 *     ids: ["string"],
 *     networkId: "string",
 *     perPage: 1,
 *     scopes: ["string"],
 *     serials: ["string"],
 *     startingAfter: "string",
 *     systemTypes: ["string"],
 *     uuids: ["string"],
 *     wifiMacs: ["string"],
 * });
 * export const merakiNetworksSmDevicesExample = example.then(example => example.items);
 * ```
 */
export declare function getSmDevicesOutput(args: GetSmDevicesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetSmDevicesResult>;
/**
 * A collection of arguments for invoking getSmDevices.
 */
export interface GetSmDevicesOutputArgs {
    /**
     * endingBefore query parameter. A token used by the server to indicate the end of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
     */
    endingBefore?: pulumi.Input<string>;
    /**
     * fields query parameter. Additional fields that will be displayed for each device.
     * The default fields are: id, name, tags, ssid, wifiMac, osName, systemModel, uuid, and serialNumber. The additional fields are: ip,
     * systemType, availableDeviceCapacity, kioskAppName, biosVersion, lastConnected, missingAppsCount, userSuppliedAddress, location, lastUser,
     * ownerEmail, ownerUsername, osBuild, publicIp, phoneNumber, diskInfoJson, deviceCapacity, isManaged, hadMdm, isSupervised, meid, imei, iccid,
     * simCarrierNetwork, cellularDataUsed, isHotspotEnabled, createdAt, batteryEstCharge, quarantined, avName, avRunning, asName, fwName,
     * isRooted, loginRequired, screenLockEnabled, screenLockDelay, autoLoginDisabled, autoTags, hasMdm, hasDesktopAgent, diskEncryptionEnabled,
     * hardwareEncryptionCaps, passCodeLock, usesHardwareKeystore, androidSecurityPatchVersion, cellular, and url.
     */
    fields?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * ids query parameter. Filter devices by id(s).
     */
    ids?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * networkId path parameter. Network ID
     */
    networkId: pulumi.Input<string>;
    /**
     * perPage query parameter. The number of entries per page returned. Acceptable range is 3 1000. Default is 1000.
     */
    perPage?: pulumi.Input<number>;
    /**
     * scope query parameter. Specify a scope (one of all, none, withAny, withAll, withoutAny, or withoutAll) and a set of tags.
     */
    scopes?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * serials query parameter. Filter devices by serial(s).
     */
    serials?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * startingAfter query parameter. A token used by the server to indicate the start of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
     */
    startingAfter?: pulumi.Input<string>;
    /**
     * systemTypes query parameter. Filter devices by system type(s).
     */
    systemTypes?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * uuids query parameter. Filter devices by uuid(s).
     */
    uuids?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * wifiMacs query parameter. Filter devices by wifi mac(s).
     */
    wifiMacs?: pulumi.Input<pulumi.Input<string>[]>;
}
