import * as pulumi from "@pulumi/pulumi";
/**
 * A special case for [extension](https://developer.pagerduty.com/api-reference/b3A6Mjc0ODEzMw-create-an-extension) for ServiceNow.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as pagerduty from "@pulumi/pagerduty";
 *
 * const servicenow = pagerduty.getExtensionSchema({
 *     name: "ServiceNow (v7)",
 * });
 * const example = new pagerduty.User("example", {
 *     name: "Howard James",
 *     email: "howard.james@example.domain",
 * });
 * const exampleEscalationPolicy = new pagerduty.EscalationPolicy("example", {
 *     name: "Engineering Escalation Policy",
 *     numLoops: 2,
 *     rules: [{
 *         escalationDelayInMinutes: 10,
 *         targets: [{
 *             type: "user",
 *             id: example.id,
 *         }],
 *     }],
 * });
 * const exampleService = new pagerduty.Service("example", {
 *     name: "My Web App",
 *     autoResolveTimeout: "14400",
 *     acknowledgementTimeout: "600",
 *     escalationPolicy: exampleEscalationPolicy.id,
 * });
 * const snow = new pagerduty.ExtensionServiceNow("snow", {
 *     name: "My Web App Extension",
 *     extensionSchema: servicenow.then(servicenow => servicenow.id),
 *     extensionObjects: [exampleService.id],
 *     snowUser: "meeps",
 *     snowPassword: "zorz",
 *     syncOptions: "manual_sync",
 *     target: "https://foo.servicenow.com/webhook_foo",
 *     taskType: "incident",
 *     referer: "None",
 * });
 * ```
 *
 * ## Import
 *
 * Extensions can be imported using the id.e.g.
 *
 * ```sh
 * $ pulumi import pagerduty:index/extensionServiceNow:ExtensionServiceNow main PLBP09X
 * ```
 */
export declare class ExtensionServiceNow extends pulumi.CustomResource {
    /**
     * Get an existing ExtensionServiceNow 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?: ExtensionServiceNowState, opts?: pulumi.CustomResourceOptions): ExtensionServiceNow;
    /**
     * Returns true if the given object is an instance of ExtensionServiceNow.  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 ExtensionServiceNow;
    readonly endpointUrl: pulumi.Output<string | undefined>;
    /**
     * This is the objects for which the extension applies (An array of service ids).
     */
    readonly extensionObjects: pulumi.Output<string[]>;
    /**
     * This is the schema for this extension.
     */
    readonly extensionSchema: pulumi.Output<string>;
    /**
     * URL at which the entity is uniquely displayed in the Web app.
     */
    readonly htmlUrl: pulumi.Output<string>;
    /**
     * The name of the service extension.
     */
    readonly name: pulumi.Output<string>;
    /**
     * The ServiceNow referer.
     */
    readonly referer: pulumi.Output<string>;
    /**
     * The ServiceNow password.
     */
    readonly snowPassword: pulumi.Output<string>;
    /**
     * The ServiceNow username.
     */
    readonly snowUser: pulumi.Output<string>;
    /**
     * A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `name`, though it is not intended to be an identifier.
     */
    readonly summary: pulumi.Output<string>;
    /**
     * The ServiceNow sync option.
     */
    readonly syncOptions: pulumi.Output<string>;
    /**
     * Target Webhook URL.
     */
    readonly target: pulumi.Output<string>;
    /**
     * The ServiceNow task type, typically `incident`.
     */
    readonly taskType: pulumi.Output<string>;
    readonly type: pulumi.Output<string>;
    /**
     * Create a ExtensionServiceNow 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: ExtensionServiceNowArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering ExtensionServiceNow resources.
 */
export interface ExtensionServiceNowState {
    endpointUrl?: pulumi.Input<string>;
    /**
     * This is the objects for which the extension applies (An array of service ids).
     */
    extensionObjects?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * This is the schema for this extension.
     */
    extensionSchema?: pulumi.Input<string>;
    /**
     * URL at which the entity is uniquely displayed in the Web app.
     */
    htmlUrl?: pulumi.Input<string>;
    /**
     * The name of the service extension.
     */
    name?: pulumi.Input<string>;
    /**
     * The ServiceNow referer.
     */
    referer?: pulumi.Input<string>;
    /**
     * The ServiceNow password.
     */
    snowPassword?: pulumi.Input<string>;
    /**
     * The ServiceNow username.
     */
    snowUser?: pulumi.Input<string>;
    /**
     * A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `name`, though it is not intended to be an identifier.
     */
    summary?: pulumi.Input<string>;
    /**
     * The ServiceNow sync option.
     */
    syncOptions?: pulumi.Input<string>;
    /**
     * Target Webhook URL.
     */
    target?: pulumi.Input<string>;
    /**
     * The ServiceNow task type, typically `incident`.
     */
    taskType?: pulumi.Input<string>;
    type?: pulumi.Input<string>;
}
/**
 * The set of arguments for constructing a ExtensionServiceNow resource.
 */
export interface ExtensionServiceNowArgs {
    endpointUrl?: pulumi.Input<string>;
    /**
     * This is the objects for which the extension applies (An array of service ids).
     */
    extensionObjects: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * This is the schema for this extension.
     */
    extensionSchema: pulumi.Input<string>;
    /**
     * The name of the service extension.
     */
    name?: pulumi.Input<string>;
    /**
     * The ServiceNow referer.
     */
    referer: pulumi.Input<string>;
    /**
     * The ServiceNow password.
     */
    snowPassword: pulumi.Input<string>;
    /**
     * The ServiceNow username.
     */
    snowUser: pulumi.Input<string>;
    /**
     * A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `name`, though it is not intended to be an identifier.
     */
    summary?: pulumi.Input<string>;
    /**
     * The ServiceNow sync option.
     */
    syncOptions: pulumi.Input<string>;
    /**
     * Target Webhook URL.
     */
    target: pulumi.Input<string>;
    /**
     * The ServiceNow task type, typically `incident`.
     */
    taskType: pulumi.Input<string>;
    type?: pulumi.Input<string>;
}
