import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Discovered asset definition.
 *
 * Uses Azure REST API version 2025-07-01-preview.
 *
 * Other available API versions: 2025-10-01, 2025-11-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native deviceregistry [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.
 */
export declare class NamespaceDiscoveredAsset extends pulumi.CustomResource {
    /**
     * Get an existing NamespaceDiscoveredAsset resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): NamespaceDiscoveredAsset;
    /**
     * Returns true if the given object is an instance of NamespaceDiscoveredAsset.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is NamespaceDiscoveredAsset;
    /**
     * URIs or type definition IDs.
     */
    readonly assetTypeRefs: pulumi.Output<string[] | undefined>;
    /**
     * A set of key-value pairs that contain custom attributes.
     */
    readonly attributes: pulumi.Output<any | undefined>;
    /**
     * The Azure API version of the resource.
     */
    readonly azureApiVersion: pulumi.Output<string>;
    /**
     * Array of datasets that are part of the asset. Each dataset spec describes the data points that make up the set.
     */
    readonly datasets: pulumi.Output<outputs.deviceregistry.NamespaceDiscoveredDatasetResponse[] | undefined>;
    /**
     * Stringified JSON that contains connector-specific default configuration for all datasets. Each dataset can have its own configuration that overrides the default settings here.
     */
    readonly defaultDatasetsConfiguration: pulumi.Output<string | undefined>;
    /**
     * Default destinations for a dataset.
     */
    readonly defaultDatasetsDestinations: pulumi.Output<(outputs.deviceregistry.DatasetBrokerStateStoreDestinationResponse | outputs.deviceregistry.DatasetMqttDestinationResponse | outputs.deviceregistry.DatasetStorageDestinationResponse)[] | undefined>;
    /**
     * Stringified JSON that contains connector-specific default configuration for all events. Each event can have its own configuration that overrides the default settings here.
     */
    readonly defaultEventsConfiguration: pulumi.Output<string | undefined>;
    /**
     * Default destinations for an event.
     */
    readonly defaultEventsDestinations: pulumi.Output<(outputs.deviceregistry.EventMqttDestinationResponse | outputs.deviceregistry.EventStorageDestinationResponse)[] | undefined>;
    /**
     * Stringified JSON that contains connector-specific default configuration for all management groups. Each management group can have its own configuration that overrides the default settings here.
     */
    readonly defaultManagementGroupsConfiguration: pulumi.Output<string | undefined>;
    /**
     * Stringified JSON that contains connector-specific default configuration for all streams. Each stream can have its own configuration that overrides the default settings here.
     */
    readonly defaultStreamsConfiguration: pulumi.Output<string | undefined>;
    /**
     * Default destinations for a stream.
     */
    readonly defaultStreamsDestinations: pulumi.Output<(outputs.deviceregistry.StreamMqttDestinationResponse | outputs.deviceregistry.StreamStorageDestinationResponse)[] | undefined>;
    /**
     * Reference to the device that provides data for this asset. Must provide device name & endpoint on the device to use.
     */
    readonly deviceRef: pulumi.Output<outputs.deviceregistry.DeviceRefResponse>;
    /**
     * Identifier used to detect changes in the asset.
     */
    readonly discoveryId: pulumi.Output<string>;
    /**
     * Asset documentation reference.
     */
    readonly documentationUri: pulumi.Output<string | undefined>;
    /**
     * Array of events that are part of the asset. Each event can have per-event configuration.
     */
    readonly events: pulumi.Output<outputs.deviceregistry.NamespaceDiscoveredEventResponse[] | undefined>;
    /**
     * The extended location.
     */
    readonly extendedLocation: pulumi.Output<outputs.deviceregistry.ExtendedLocationResponse>;
    /**
     * Asset hardware revision number.
     */
    readonly hardwareRevision: pulumi.Output<string | undefined>;
    /**
     * The geo-location where the resource lives
     */
    readonly location: pulumi.Output<string>;
    /**
     * Array of management groups that are part of the asset. Each management group can have a per-group configuration.
     */
    readonly managementGroups: pulumi.Output<outputs.deviceregistry.NamespaceDiscoveredManagementGroupResponse[] | undefined>;
    /**
     * Asset manufacturer.
     */
    readonly manufacturer: pulumi.Output<string | undefined>;
    /**
     * Asset manufacturer URI.
     */
    readonly manufacturerUri: pulumi.Output<string | undefined>;
    /**
     * Asset model.
     */
    readonly model: pulumi.Output<string | undefined>;
    /**
     * The name of the resource
     */
    readonly name: pulumi.Output<string>;
    /**
     * Asset product code.
     */
    readonly productCode: pulumi.Output<string | undefined>;
    /**
     * Provisioning state of the resource.
     */
    readonly provisioningState: pulumi.Output<string>;
    /**
     * Asset serial number.
     */
    readonly serialNumber: pulumi.Output<string | undefined>;
    /**
     * Asset software revision number.
     */
    readonly softwareRevision: pulumi.Output<string | undefined>;
    /**
     * Array of streams that are part of the asset. Each stream can have a per-stream configuration.
     */
    readonly streams: pulumi.Output<outputs.deviceregistry.NamespaceDiscoveredStreamResponse[] | undefined>;
    /**
     * Azure Resource Manager metadata containing createdBy and modifiedBy information.
     */
    readonly systemData: pulumi.Output<outputs.deviceregistry.SystemDataResponse>;
    /**
     * Resource tags.
     */
    readonly tags: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    /**
     * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     */
    readonly type: pulumi.Output<string>;
    /**
     * An integer that is incremented each time the resource is modified.
     */
    readonly version: pulumi.Output<number>;
    /**
     * Create a NamespaceDiscoveredAsset resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: NamespaceDiscoveredAssetArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a NamespaceDiscoveredAsset resource.
 */
export interface NamespaceDiscoveredAssetArgs {
    /**
     * URIs or type definition IDs.
     */
    assetTypeRefs?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * A set of key-value pairs that contain custom attributes.
     */
    attributes?: any;
    /**
     * Array of datasets that are part of the asset. Each dataset spec describes the data points that make up the set.
     */
    datasets?: pulumi.Input<pulumi.Input<inputs.deviceregistry.NamespaceDiscoveredDatasetArgs>[]>;
    /**
     * Stringified JSON that contains connector-specific default configuration for all datasets. Each dataset can have its own configuration that overrides the default settings here.
     */
    defaultDatasetsConfiguration?: pulumi.Input<string>;
    /**
     * Default destinations for a dataset.
     */
    defaultDatasetsDestinations?: pulumi.Input<pulumi.Input<inputs.deviceregistry.DatasetBrokerStateStoreDestinationArgs | inputs.deviceregistry.DatasetMqttDestinationArgs | inputs.deviceregistry.DatasetStorageDestinationArgs>[]>;
    /**
     * Stringified JSON that contains connector-specific default configuration for all events. Each event can have its own configuration that overrides the default settings here.
     */
    defaultEventsConfiguration?: pulumi.Input<string>;
    /**
     * Default destinations for an event.
     */
    defaultEventsDestinations?: pulumi.Input<pulumi.Input<inputs.deviceregistry.EventMqttDestinationArgs | inputs.deviceregistry.EventStorageDestinationArgs>[]>;
    /**
     * Stringified JSON that contains connector-specific default configuration for all management groups. Each management group can have its own configuration that overrides the default settings here.
     */
    defaultManagementGroupsConfiguration?: pulumi.Input<string>;
    /**
     * Stringified JSON that contains connector-specific default configuration for all streams. Each stream can have its own configuration that overrides the default settings here.
     */
    defaultStreamsConfiguration?: pulumi.Input<string>;
    /**
     * Default destinations for a stream.
     */
    defaultStreamsDestinations?: pulumi.Input<pulumi.Input<inputs.deviceregistry.StreamMqttDestinationArgs | inputs.deviceregistry.StreamStorageDestinationArgs>[]>;
    /**
     * Reference to the device that provides data for this asset. Must provide device name & endpoint on the device to use.
     */
    deviceRef: pulumi.Input<inputs.deviceregistry.DeviceRefArgs>;
    /**
     * The name of the discovered asset.
     */
    discoveredAssetName?: pulumi.Input<string>;
    /**
     * Identifier used to detect changes in the asset.
     */
    discoveryId: pulumi.Input<string>;
    /**
     * Asset documentation reference.
     */
    documentationUri?: pulumi.Input<string>;
    /**
     * Array of events that are part of the asset. Each event can have per-event configuration.
     */
    events?: pulumi.Input<pulumi.Input<inputs.deviceregistry.NamespaceDiscoveredEventArgs>[]>;
    /**
     * The extended location.
     */
    extendedLocation: pulumi.Input<inputs.deviceregistry.ExtendedLocationArgs>;
    /**
     * Asset hardware revision number.
     */
    hardwareRevision?: pulumi.Input<string>;
    /**
     * The geo-location where the resource lives
     */
    location?: pulumi.Input<string>;
    /**
     * Array of management groups that are part of the asset. Each management group can have a per-group configuration.
     */
    managementGroups?: pulumi.Input<pulumi.Input<inputs.deviceregistry.NamespaceDiscoveredManagementGroupArgs>[]>;
    /**
     * Asset manufacturer.
     */
    manufacturer?: pulumi.Input<string>;
    /**
     * Asset manufacturer URI.
     */
    manufacturerUri?: pulumi.Input<string>;
    /**
     * Asset model.
     */
    model?: pulumi.Input<string>;
    /**
     * The name of the namespace.
     */
    namespaceName: pulumi.Input<string>;
    /**
     * Asset product code.
     */
    productCode?: pulumi.Input<string>;
    /**
     * The name of the resource group. The name is case insensitive.
     */
    resourceGroupName: pulumi.Input<string>;
    /**
     * Asset serial number.
     */
    serialNumber?: pulumi.Input<string>;
    /**
     * Asset software revision number.
     */
    softwareRevision?: pulumi.Input<string>;
    /**
     * Array of streams that are part of the asset. Each stream can have a per-stream configuration.
     */
    streams?: pulumi.Input<pulumi.Input<inputs.deviceregistry.NamespaceDiscoveredStreamArgs>[]>;
    /**
     * Resource tags.
     */
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
    /**
     * An integer that is incremented each time the resource is modified.
     */
    version: pulumi.Input<number>;
}
