import * as pulumi from "@pulumi/pulumi";
/**
 * From the [official documentation](https://docs.netbox.dev/en/stable/features/devices/#platforms):
 *
 * > A platform defines the type of software running on a device or virtual machine. This can be helpful to model when it is necessary to distinguish between different versions or feature sets. Note that two devices of the same type may be assigned different platforms: For example, one Juniper MX240 might run Junos 14 while another runs Junos 15.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as netbox from "@natzka-oss/pulumi-netbox";
 *
 * // Resource for PanOS (e.g. Panorama from Palo Alto)
 * const PANOS = new netbox.dcim.Platform("PANOS", {name: "PANOS"});
 * ```
 */
export declare class Platform extends pulumi.CustomResource {
    /**
     * Get an existing Platform 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 state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: PlatformState, opts?: pulumi.CustomResourceOptions): Platform;
    /**
     * Returns true if the given object is an instance of Platform.  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 Platform;
    readonly manufacturerId: pulumi.Output<number | undefined>;
    readonly name: pulumi.Output<string>;
    readonly slug: pulumi.Output<string>;
    /**
     * Create a Platform 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?: PlatformArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering Platform resources.
 */
export interface PlatformState {
    manufacturerId?: pulumi.Input<number>;
    name?: pulumi.Input<string>;
    slug?: pulumi.Input<string>;
}
/**
 * The set of arguments for constructing a Platform resource.
 */
export interface PlatformArgs {
    manufacturerId?: pulumi.Input<number>;
    name?: pulumi.Input<string>;
    slug?: pulumi.Input<string>;
}
