import * as pulumi from "@pulumi/pulumi";
/**
 * Provides a Pinpoint APNs VoIP Channel resource.
 *
 * > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text.
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as aws from "@pulumi/aws";
 * import * as std from "@pulumi/std";
 *
 * const app = new aws.pinpoint.App("app", {});
 * const apnsVoip = new aws.pinpoint.ApnsVoipChannel("apns_voip", {
 *     applicationId: app.applicationId,
 *     certificate: std.file({
 *         input: "./certificate.pem",
 *     }).then(invoke => invoke.result),
 *     privateKey: std.file({
 *         input: "./private_key.key",
 *     }).then(invoke => invoke.result),
 * });
 * ```
 *
 * ## Import
 *
 * Using `pulumi import`, import Pinpoint APNs VoIP Channel using the `application-id`. For example:
 *
 * ```sh
 * $ pulumi import aws:pinpoint/apnsVoipChannel:ApnsVoipChannel apns_voip application-id
 * ```
 */
export declare class ApnsVoipChannel extends pulumi.CustomResource {
    /**
     * Get an existing ApnsVoipChannel 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?: ApnsVoipChannelState, opts?: pulumi.CustomResourceOptions): ApnsVoipChannel;
    /**
     * Returns true if the given object is an instance of ApnsVoipChannel.  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 ApnsVoipChannel;
    /**
     * The application ID.
     */
    readonly applicationId: pulumi.Output<string>;
    /**
     * The ID assigned to your iOS app. To find this value, choose Certificates, IDs & Profiles, choose App IDs in the Identifiers section, and choose your app.
     */
    readonly bundleId: pulumi.Output<string | undefined>;
    /**
     * The pem encoded TLS Certificate from Apple.
     */
    readonly certificate: pulumi.Output<string | undefined>;
    /**
     * The default authentication method used for APNs.
     * __NOTE__: Amazon Pinpoint uses this default for every APNs push notification that you send using the console.
     * You can override the default when you send a message programmatically using the Amazon Pinpoint API, the AWS CLI, or an AWS SDK.
     * If your default authentication type fails, Amazon Pinpoint doesn't attempt to use the other authentication type.
     *
     * One of the following sets of credentials is also required.
     *
     * If you choose to use __Certificate credentials__ you will have to provide:
     */
    readonly defaultAuthenticationMethod: pulumi.Output<string | undefined>;
    /**
     * Whether the channel is enabled or disabled. Defaults to `true`.
     */
    readonly enabled: pulumi.Output<boolean | undefined>;
    /**
     * The Certificate Private Key file (ie. `.key` file).
     *
     * If you choose to use __Key credentials__ you will have to provide:
     */
    readonly privateKey: pulumi.Output<string | undefined>;
    /**
     * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
     */
    readonly region: pulumi.Output<string>;
    /**
     * The ID assigned to your Apple developer account team. This value is provided on the Membership page.
     */
    readonly teamId: pulumi.Output<string | undefined>;
    /**
     * The `.p8` file that you download from your Apple developer account when you create an authentication key.
     */
    readonly tokenKey: pulumi.Output<string | undefined>;
    /**
     * The ID assigned to your signing key. To find this value, choose Certificates, IDs & Profiles, and choose your key in the Keys section.
     */
    readonly tokenKeyId: pulumi.Output<string | undefined>;
    /**
     * Create a ApnsVoipChannel 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: ApnsVoipChannelArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering ApnsVoipChannel resources.
 */
export interface ApnsVoipChannelState {
    /**
     * The application ID.
     */
    applicationId?: pulumi.Input<string>;
    /**
     * The ID assigned to your iOS app. To find this value, choose Certificates, IDs & Profiles, choose App IDs in the Identifiers section, and choose your app.
     */
    bundleId?: pulumi.Input<string>;
    /**
     * The pem encoded TLS Certificate from Apple.
     */
    certificate?: pulumi.Input<string>;
    /**
     * The default authentication method used for APNs.
     * __NOTE__: Amazon Pinpoint uses this default for every APNs push notification that you send using the console.
     * You can override the default when you send a message programmatically using the Amazon Pinpoint API, the AWS CLI, or an AWS SDK.
     * If your default authentication type fails, Amazon Pinpoint doesn't attempt to use the other authentication type.
     *
     * One of the following sets of credentials is also required.
     *
     * If you choose to use __Certificate credentials__ you will have to provide:
     */
    defaultAuthenticationMethod?: pulumi.Input<string>;
    /**
     * Whether the channel is enabled or disabled. Defaults to `true`.
     */
    enabled?: pulumi.Input<boolean>;
    /**
     * The Certificate Private Key file (ie. `.key` file).
     *
     * If you choose to use __Key credentials__ you will have to provide:
     */
    privateKey?: pulumi.Input<string>;
    /**
     * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
     */
    region?: pulumi.Input<string>;
    /**
     * The ID assigned to your Apple developer account team. This value is provided on the Membership page.
     */
    teamId?: pulumi.Input<string>;
    /**
     * The `.p8` file that you download from your Apple developer account when you create an authentication key.
     */
    tokenKey?: pulumi.Input<string>;
    /**
     * The ID assigned to your signing key. To find this value, choose Certificates, IDs & Profiles, and choose your key in the Keys section.
     */
    tokenKeyId?: pulumi.Input<string>;
}
/**
 * The set of arguments for constructing a ApnsVoipChannel resource.
 */
export interface ApnsVoipChannelArgs {
    /**
     * The application ID.
     */
    applicationId: pulumi.Input<string>;
    /**
     * The ID assigned to your iOS app. To find this value, choose Certificates, IDs & Profiles, choose App IDs in the Identifiers section, and choose your app.
     */
    bundleId?: pulumi.Input<string>;
    /**
     * The pem encoded TLS Certificate from Apple.
     */
    certificate?: pulumi.Input<string>;
    /**
     * The default authentication method used for APNs.
     * __NOTE__: Amazon Pinpoint uses this default for every APNs push notification that you send using the console.
     * You can override the default when you send a message programmatically using the Amazon Pinpoint API, the AWS CLI, or an AWS SDK.
     * If your default authentication type fails, Amazon Pinpoint doesn't attempt to use the other authentication type.
     *
     * One of the following sets of credentials is also required.
     *
     * If you choose to use __Certificate credentials__ you will have to provide:
     */
    defaultAuthenticationMethod?: pulumi.Input<string>;
    /**
     * Whether the channel is enabled or disabled. Defaults to `true`.
     */
    enabled?: pulumi.Input<boolean>;
    /**
     * The Certificate Private Key file (ie. `.key` file).
     *
     * If you choose to use __Key credentials__ you will have to provide:
     */
    privateKey?: pulumi.Input<string>;
    /**
     * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
     */
    region?: pulumi.Input<string>;
    /**
     * The ID assigned to your Apple developer account team. This value is provided on the Membership page.
     */
    teamId?: pulumi.Input<string>;
    /**
     * The `.p8` file that you download from your Apple developer account when you create an authentication key.
     */
    tokenKey?: pulumi.Input<string>;
    /**
     * The ID assigned to your signing key. To find this value, choose Certificates, IDs & Profiles, and choose your key in the Keys section.
     */
    tokenKeyId?: pulumi.Input<string>;
}
