import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Represents a Watchlist in Azure Security Insights.
 *
 * Uses Azure REST API version 2024-09-01. In version 2.x of the Azure Native provider, it used API version 2023-02-01.
 *
 * Other available API versions: 2023-02-01, 2023-03-01-preview, 2023-04-01-preview, 2023-05-01-preview, 2023-06-01-preview, 2023-07-01-preview, 2023-08-01-preview, 2023-09-01-preview, 2023-10-01-preview, 2023-11-01, 2023-12-01-preview, 2024-01-01-preview, 2024-03-01, 2024-04-01-preview, 2024-10-01-preview, 2025-01-01-preview, 2025-03-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native securityinsights [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.
 */
export declare class Watchlist extends pulumi.CustomResource {
    /**
     * Get an existing Watchlist 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): Watchlist;
    /**
     * Returns true if the given object is an instance of Watchlist.  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 Watchlist;
    /**
     * The Azure API version of the resource.
     */
    readonly azureApiVersion: pulumi.Output<string>;
    /**
     * The content type of the raw content. Example : text/csv or text/tsv
     */
    readonly contentType: pulumi.Output<string | undefined>;
    /**
     * The time the watchlist was created
     */
    readonly created: pulumi.Output<string | undefined>;
    /**
     * Describes a user that created the watchlist
     */
    readonly createdBy: pulumi.Output<outputs.securityinsights.WatchlistUserInfoResponse | undefined>;
    /**
     * The default duration of a watchlist (in ISO 8601 duration format)
     */
    readonly defaultDuration: pulumi.Output<string | undefined>;
    /**
     * A description of the watchlist
     */
    readonly description: pulumi.Output<string | undefined>;
    /**
     * The display name of the watchlist
     */
    readonly displayName: pulumi.Output<string>;
    /**
     * Etag of the azure resource
     */
    readonly etag: pulumi.Output<string | undefined>;
    /**
     * A flag that indicates if the watchlist is deleted or not
     */
    readonly isDeleted: pulumi.Output<boolean | undefined>;
    /**
     * The search key is used to optimize query performance when using watchlists for joins with other data. For example, enable a column with IP addresses to be the designated SearchKey field, then use this field as the key field when joining to other event data by IP address.
     */
    readonly itemsSearchKey: pulumi.Output<string>;
    /**
     * List of labels relevant to this watchlist
     */
    readonly labels: pulumi.Output<string[] | undefined>;
    /**
     * The name of the resource
     */
    readonly name: pulumi.Output<string>;
    /**
     * The number of lines in a csv/tsv content to skip before the header
     */
    readonly numberOfLinesToSkip: pulumi.Output<number | undefined>;
    /**
     * The provider of the watchlist
     */
    readonly provider: pulumi.Output<string>;
    /**
     * Describes provisioning state
     */
    readonly provisioningState: pulumi.Output<string>;
    /**
     * The raw content that represents to watchlist items to create. In case of csv/tsv content type, it's the content of the file that will parsed by the endpoint
     */
    readonly rawContent: pulumi.Output<string | undefined>;
    /**
     * The filename of the watchlist, called 'source'
     */
    readonly source: pulumi.Output<string | undefined>;
    /**
     * The sourceType of the watchlist
     */
    readonly sourceType: pulumi.Output<string | undefined>;
    /**
     * Azure Resource Manager metadata containing createdBy and modifiedBy information.
     */
    readonly systemData: pulumi.Output<outputs.securityinsights.SystemDataResponse>;
    /**
     * The tenantId where the watchlist belongs to
     */
    readonly tenantId: pulumi.Output<string | undefined>;
    /**
     * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     */
    readonly type: pulumi.Output<string>;
    /**
     * The last time the watchlist was updated
     */
    readonly updated: pulumi.Output<string | undefined>;
    /**
     * Describes a user that updated the watchlist
     */
    readonly updatedBy: pulumi.Output<outputs.securityinsights.WatchlistUserInfoResponse | undefined>;
    /**
     * The status of the Watchlist upload : New, InProgress or Complete. **Note** : When a Watchlist upload status is InProgress, the Watchlist cannot be deleted
     */
    readonly uploadStatus: pulumi.Output<string | undefined>;
    /**
     * The alias of the watchlist
     */
    readonly watchlistAlias: pulumi.Output<string | undefined>;
    /**
     * The id (a Guid) of the watchlist
     */
    readonly watchlistId: pulumi.Output<string | undefined>;
    /**
     * The type of the watchlist
     */
    readonly watchlistType: pulumi.Output<string | undefined>;
    /**
     * Create a Watchlist 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: WatchlistArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a Watchlist resource.
 */
export interface WatchlistArgs {
    /**
     * The content type of the raw content. Example : text/csv or text/tsv
     */
    contentType?: pulumi.Input<string>;
    /**
     * The time the watchlist was created
     */
    created?: pulumi.Input<string>;
    /**
     * Describes a user that created the watchlist
     */
    createdBy?: pulumi.Input<inputs.securityinsights.WatchlistUserInfoArgs>;
    /**
     * The default duration of a watchlist (in ISO 8601 duration format)
     */
    defaultDuration?: pulumi.Input<string>;
    /**
     * A description of the watchlist
     */
    description?: pulumi.Input<string>;
    /**
     * The display name of the watchlist
     */
    displayName: pulumi.Input<string>;
    /**
     * A flag that indicates if the watchlist is deleted or not
     */
    isDeleted?: pulumi.Input<boolean>;
    /**
     * The search key is used to optimize query performance when using watchlists for joins with other data. For example, enable a column with IP addresses to be the designated SearchKey field, then use this field as the key field when joining to other event data by IP address.
     */
    itemsSearchKey: pulumi.Input<string>;
    /**
     * List of labels relevant to this watchlist
     */
    labels?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The number of lines in a csv/tsv content to skip before the header
     */
    numberOfLinesToSkip?: pulumi.Input<number>;
    /**
     * The provider of the watchlist
     */
    provider: pulumi.Input<string>;
    /**
     * The raw content that represents to watchlist items to create. In case of csv/tsv content type, it's the content of the file that will parsed by the endpoint
     */
    rawContent?: pulumi.Input<string>;
    /**
     * The name of the resource group. The name is case insensitive.
     */
    resourceGroupName: pulumi.Input<string>;
    /**
     * The filename of the watchlist, called 'source'
     */
    source?: pulumi.Input<string>;
    /**
     * The sourceType of the watchlist
     */
    sourceType?: pulumi.Input<string | enums.securityinsights.SourceType>;
    /**
     * The tenantId where the watchlist belongs to
     */
    tenantId?: pulumi.Input<string>;
    /**
     * The last time the watchlist was updated
     */
    updated?: pulumi.Input<string>;
    /**
     * Describes a user that updated the watchlist
     */
    updatedBy?: pulumi.Input<inputs.securityinsights.WatchlistUserInfoArgs>;
    /**
     * The status of the Watchlist upload : New, InProgress or Complete. **Note** : When a Watchlist upload status is InProgress, the Watchlist cannot be deleted
     */
    uploadStatus?: pulumi.Input<string>;
    /**
     * The alias of the watchlist
     */
    watchlistAlias?: pulumi.Input<string>;
    /**
     * The id (a Guid) of the watchlist
     */
    watchlistId?: pulumi.Input<string>;
    /**
     * The type of the watchlist
     */
    watchlistType?: pulumi.Input<string>;
    /**
     * The name of the workspace.
     */
    workspaceName: pulumi.Input<string>;
}
