/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface IntegrationsAuthConfigConfig extends cdktf.TerraformMetaArguments {
    /**
    * A description of the auth config.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#description IntegrationsAuthConfig#description}
    */
    readonly description?: string;
    /**
    * The name of the auth config.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#display_name IntegrationsAuthConfig#display_name}
    */
    readonly displayName: string;
    /**
    * User can define the time to receive notification after which the auth config becomes invalid. Support up to 30 days. Support granularity in hours.
    *
    * A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#expiry_notification_duration IntegrationsAuthConfig#expiry_notification_duration}
    */
    readonly expiryNotificationDuration?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#id IntegrationsAuthConfig#id}
    *
    * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
    * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
    */
    readonly id?: string;
    /**
    * Location in which client needs to be provisioned.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#location IntegrationsAuthConfig#location}
    */
    readonly location: string;
    /**
    * User provided expiry time to override. For the example of Salesforce, username/password credentials can be valid for 6 months depending on the instance settings.
    *
    * A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#override_valid_time IntegrationsAuthConfig#override_valid_time}
    */
    readonly overrideValidTime?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#project IntegrationsAuthConfig#project}
    */
    readonly project?: string;
    /**
    * The visibility of the auth config. Possible values: ["PRIVATE", "CLIENT_VISIBLE"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#visibility IntegrationsAuthConfig#visibility}
    */
    readonly visibility?: string;
    /**
    * client_certificate block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#client_certificate IntegrationsAuthConfig#client_certificate}
    */
    readonly clientCertificate?: IntegrationsAuthConfigClientCertificate;
    /**
    * decrypted_credential block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#decrypted_credential IntegrationsAuthConfig#decrypted_credential}
    */
    readonly decryptedCredential?: IntegrationsAuthConfigDecryptedCredential;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#timeouts IntegrationsAuthConfig#timeouts}
    */
    readonly timeouts?: IntegrationsAuthConfigTimeouts;
}
export interface IntegrationsAuthConfigClientCertificate {
    /**
    * The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#encrypted_private_key IntegrationsAuthConfig#encrypted_private_key}
    */
    readonly encryptedPrivateKey: string;
    /**
    * 'passphrase' should be left unset if private key is not encrypted.
    * Note that 'passphrase' is not the password for web server, but an extra layer of security to protected private key.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#passphrase IntegrationsAuthConfig#passphrase}
    */
    readonly passphrase?: string;
    /**
    * The ssl certificate encoded in PEM format. This string must include the begin header and end footer lines.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#ssl_certificate IntegrationsAuthConfig#ssl_certificate}
    */
    readonly sslCertificate: string;
}
export declare function integrationsAuthConfigClientCertificateToTerraform(struct?: IntegrationsAuthConfigClientCertificateOutputReference | IntegrationsAuthConfigClientCertificate): any;
export declare function integrationsAuthConfigClientCertificateToHclTerraform(struct?: IntegrationsAuthConfigClientCertificateOutputReference | IntegrationsAuthConfigClientCertificate): any;
export declare class IntegrationsAuthConfigClientCertificateOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): IntegrationsAuthConfigClientCertificate | undefined;
    set internalValue(value: IntegrationsAuthConfigClientCertificate | undefined);
    private _encryptedPrivateKey?;
    get encryptedPrivateKey(): string;
    set encryptedPrivateKey(value: string);
    get encryptedPrivateKeyInput(): string | undefined;
    private _passphrase?;
    get passphrase(): string;
    set passphrase(value: string);
    resetPassphrase(): void;
    get passphraseInput(): string | undefined;
    private _sslCertificate?;
    get sslCertificate(): string;
    set sslCertificate(value: string);
    get sslCertificateInput(): string | undefined;
}
export interface IntegrationsAuthConfigDecryptedCredentialAuthToken {
    /**
    * The token for the auth type.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#token IntegrationsAuthConfig#token}
    */
    readonly token?: string;
    /**
    * Authentication type, e.g. "Basic", "Bearer", etc.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#type IntegrationsAuthConfig#type}
    */
    readonly type?: string;
}
export declare function integrationsAuthConfigDecryptedCredentialAuthTokenToTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialAuthTokenOutputReference | IntegrationsAuthConfigDecryptedCredentialAuthToken): any;
export declare function integrationsAuthConfigDecryptedCredentialAuthTokenToHclTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialAuthTokenOutputReference | IntegrationsAuthConfigDecryptedCredentialAuthToken): any;
export declare class IntegrationsAuthConfigDecryptedCredentialAuthTokenOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): IntegrationsAuthConfigDecryptedCredentialAuthToken | undefined;
    set internalValue(value: IntegrationsAuthConfigDecryptedCredentialAuthToken | undefined);
    private _token?;
    get token(): string;
    set token(value: string);
    resetToken(): void;
    get tokenInput(): string | undefined;
    private _type?;
    get type(): string;
    set type(value: string);
    resetType(): void;
    get typeInput(): string | undefined;
}
export interface IntegrationsAuthConfigDecryptedCredentialJwt {
    /**
    * Identifies which algorithm is used to generate the signature.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#jwt_header IntegrationsAuthConfig#jwt_header}
    */
    readonly jwtHeader?: string;
    /**
    * Contains a set of claims. The JWT specification defines seven Registered Claim Names which are the standard fields commonly included in tokens. Custom claims are usually also included, depending on the purpose of the token.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#jwt_payload IntegrationsAuthConfig#jwt_payload}
    */
    readonly jwtPayload?: string;
    /**
    * User's pre-shared secret to sign the token.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#secret IntegrationsAuthConfig#secret}
    */
    readonly secret?: string;
}
export declare function integrationsAuthConfigDecryptedCredentialJwtToTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialJwtOutputReference | IntegrationsAuthConfigDecryptedCredentialJwt): any;
export declare function integrationsAuthConfigDecryptedCredentialJwtToHclTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialJwtOutputReference | IntegrationsAuthConfigDecryptedCredentialJwt): any;
export declare class IntegrationsAuthConfigDecryptedCredentialJwtOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): IntegrationsAuthConfigDecryptedCredentialJwt | undefined;
    set internalValue(value: IntegrationsAuthConfigDecryptedCredentialJwt | undefined);
    get jwt(): string;
    private _jwtHeader?;
    get jwtHeader(): string;
    set jwtHeader(value: string);
    resetJwtHeader(): void;
    get jwtHeaderInput(): string | undefined;
    private _jwtPayload?;
    get jwtPayload(): string;
    set jwtPayload(value: string);
    resetJwtPayload(): void;
    get jwtPayloadInput(): string | undefined;
    private _secret?;
    get secret(): string;
    set secret(value: string);
    resetSecret(): void;
    get secretInput(): string | undefined;
}
export interface IntegrationsAuthConfigDecryptedCredentialOauth2AuthorizationCode {
    /**
    * The auth url endpoint to send the auth code request to.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#auth_endpoint IntegrationsAuthConfig#auth_endpoint}
    */
    readonly authEndpoint?: string;
    /**
    * The client's id.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#client_id IntegrationsAuthConfig#client_id}
    */
    readonly clientId?: string;
    /**
    * The client's secret.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#client_secret IntegrationsAuthConfig#client_secret}
    */
    readonly clientSecret?: string;
    /**
    * A space-delimited list of requested scope permissions.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#scope IntegrationsAuthConfig#scope}
    */
    readonly scope?: string;
    /**
    * The token url endpoint to send the token request to.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#token_endpoint IntegrationsAuthConfig#token_endpoint}
    */
    readonly tokenEndpoint?: string;
}
export declare function integrationsAuthConfigDecryptedCredentialOauth2AuthorizationCodeToTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialOauth2AuthorizationCodeOutputReference | IntegrationsAuthConfigDecryptedCredentialOauth2AuthorizationCode): any;
export declare function integrationsAuthConfigDecryptedCredentialOauth2AuthorizationCodeToHclTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialOauth2AuthorizationCodeOutputReference | IntegrationsAuthConfigDecryptedCredentialOauth2AuthorizationCode): any;
export declare class IntegrationsAuthConfigDecryptedCredentialOauth2AuthorizationCodeOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): IntegrationsAuthConfigDecryptedCredentialOauth2AuthorizationCode | undefined;
    set internalValue(value: IntegrationsAuthConfigDecryptedCredentialOauth2AuthorizationCode | undefined);
    private _authEndpoint?;
    get authEndpoint(): string;
    set authEndpoint(value: string);
    resetAuthEndpoint(): void;
    get authEndpointInput(): string | undefined;
    private _clientId?;
    get clientId(): string;
    set clientId(value: string);
    resetClientId(): void;
    get clientIdInput(): string | undefined;
    private _clientSecret?;
    get clientSecret(): string;
    set clientSecret(value: string);
    resetClientSecret(): void;
    get clientSecretInput(): string | undefined;
    private _scope?;
    get scope(): string;
    set scope(value: string);
    resetScope(): void;
    get scopeInput(): string | undefined;
    private _tokenEndpoint?;
    get tokenEndpoint(): string;
    set tokenEndpoint(value: string);
    resetTokenEndpoint(): void;
    get tokenEndpointInput(): string | undefined;
}
export interface IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKeyLiteralValue {
    /**
    * String.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#string_value IntegrationsAuthConfig#string_value}
    */
    readonly stringValue?: string;
}
export declare function integrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKeyLiteralValueToTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKeyLiteralValueOutputReference | IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKeyLiteralValue): any;
export declare function integrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKeyLiteralValueToHclTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKeyLiteralValueOutputReference | IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKeyLiteralValue): any;
export declare class IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKeyLiteralValueOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKeyLiteralValue | undefined;
    set internalValue(value: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKeyLiteralValue | undefined);
    private _stringValue?;
    get stringValue(): string;
    set stringValue(value: string);
    resetStringValue(): void;
    get stringValueInput(): string | undefined;
}
export interface IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKey {
    /**
    * literal_value block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#literal_value IntegrationsAuthConfig#literal_value}
    */
    readonly literalValue?: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKeyLiteralValue;
}
export declare function integrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKeyToTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKeyOutputReference | IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKey): any;
export declare function integrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKeyToHclTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKeyOutputReference | IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKey): any;
export declare class IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKeyOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKey | undefined;
    set internalValue(value: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKey | undefined);
    private _literalValue;
    get literalValue(): IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKeyLiteralValueOutputReference;
    putLiteralValue(value: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKeyLiteralValue): void;
    resetLiteralValue(): void;
    get literalValueInput(): IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKeyLiteralValue | undefined;
}
export interface IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValueLiteralValue {
    /**
    * String.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#string_value IntegrationsAuthConfig#string_value}
    */
    readonly stringValue?: string;
}
export declare function integrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValueLiteralValueToTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValueLiteralValueOutputReference | IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValueLiteralValue): any;
export declare function integrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValueLiteralValueToHclTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValueLiteralValueOutputReference | IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValueLiteralValue): any;
export declare class IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValueLiteralValueOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValueLiteralValue | undefined;
    set internalValue(value: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValueLiteralValue | undefined);
    private _stringValue?;
    get stringValue(): string;
    set stringValue(value: string);
    resetStringValue(): void;
    get stringValueInput(): string | undefined;
}
export interface IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValue {
    /**
    * literal_value block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#literal_value IntegrationsAuthConfig#literal_value}
    */
    readonly literalValue?: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValueLiteralValue;
}
export declare function integrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValueToTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValueOutputReference | IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValue): any;
export declare function integrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValueToHclTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValueOutputReference | IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValue): any;
export declare class IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValueOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValue | undefined;
    set internalValue(value: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValue | undefined);
    private _literalValue;
    get literalValue(): IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValueLiteralValueOutputReference;
    putLiteralValue(value: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValueLiteralValue): void;
    resetLiteralValue(): void;
    get literalValueInput(): IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValueLiteralValue | undefined;
}
export interface IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntries {
    /**
    * key block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#key IntegrationsAuthConfig#key}
    */
    readonly key?: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKey;
    /**
    * value block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#value IntegrationsAuthConfig#value}
    */
    readonly value?: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValue;
}
export declare function integrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesToTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntries | cdktf.IResolvable): any;
export declare function integrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesToHclTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntries | cdktf.IResolvable): any;
export declare class IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntries | cdktf.IResolvable | undefined;
    set internalValue(value: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntries | cdktf.IResolvable | undefined);
    private _key;
    get key(): IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKeyOutputReference;
    putKey(value: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKey): void;
    resetKey(): void;
    get keyInput(): IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesKey | undefined;
    private _value;
    get value(): IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValueOutputReference;
    putValue(value: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValue): void;
    resetValue(): void;
    get valueInput(): IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesValue | undefined;
}
export declare class IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntries[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesOutputReference;
}
export interface IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParams {
    /**
    * entries block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#entries IntegrationsAuthConfig#entries}
    */
    readonly entries?: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntries[] | cdktf.IResolvable;
}
export declare function integrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsToTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsOutputReference | IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParams): any;
export declare function integrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsToHclTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsOutputReference | IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParams): any;
export declare class IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParams | undefined;
    set internalValue(value: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParams | undefined);
    private _entries;
    get entries(): IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntriesList;
    putEntries(value: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntries[] | cdktf.IResolvable): void;
    resetEntries(): void;
    get entriesInput(): cdktf.IResolvable | IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsEntries[] | undefined;
}
export interface IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentials {
    /**
    * The client's ID.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#client_id IntegrationsAuthConfig#client_id}
    */
    readonly clientId?: string;
    /**
    * The client's secret.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#client_secret IntegrationsAuthConfig#client_secret}
    */
    readonly clientSecret?: string;
    /**
    * Represent how to pass parameters to fetch access token Possible values: ["REQUEST_TYPE_UNSPECIFIED", "REQUEST_BODY", "QUERY_PARAMETERS", "ENCODED_HEADER"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#request_type IntegrationsAuthConfig#request_type}
    */
    readonly requestType?: string;
    /**
    * A space-delimited list of requested scope permissions.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#scope IntegrationsAuthConfig#scope}
    */
    readonly scope?: string;
    /**
    * The token endpoint is used by the client to obtain an access token by presenting its authorization grant or refresh token.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#token_endpoint IntegrationsAuthConfig#token_endpoint}
    */
    readonly tokenEndpoint?: string;
    /**
    * token_params block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#token_params IntegrationsAuthConfig#token_params}
    */
    readonly tokenParams?: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParams;
}
export declare function integrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsToTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsOutputReference | IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentials): any;
export declare function integrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsToHclTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsOutputReference | IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentials): any;
export declare class IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentials | undefined;
    set internalValue(value: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentials | undefined);
    private _clientId?;
    get clientId(): string;
    set clientId(value: string);
    resetClientId(): void;
    get clientIdInput(): string | undefined;
    private _clientSecret?;
    get clientSecret(): string;
    set clientSecret(value: string);
    resetClientSecret(): void;
    get clientSecretInput(): string | undefined;
    private _requestType?;
    get requestType(): string;
    set requestType(value: string);
    resetRequestType(): void;
    get requestTypeInput(): string | undefined;
    private _scope?;
    get scope(): string;
    set scope(value: string);
    resetScope(): void;
    get scopeInput(): string | undefined;
    private _tokenEndpoint?;
    get tokenEndpoint(): string;
    set tokenEndpoint(value: string);
    resetTokenEndpoint(): void;
    get tokenEndpointInput(): string | undefined;
    private _tokenParams;
    get tokenParams(): IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParamsOutputReference;
    putTokenParams(value: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParams): void;
    resetTokenParams(): void;
    get tokenParamsInput(): IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsTokenParams | undefined;
}
export interface IntegrationsAuthConfigDecryptedCredentialOidcToken {
    /**
    * Audience to be used when generating OIDC token. The audience claim identifies the recipients that the JWT is intended for.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#audience IntegrationsAuthConfig#audience}
    */
    readonly audience?: string;
    /**
    * The service account email to be used as the identity for the token.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#service_account_email IntegrationsAuthConfig#service_account_email}
    */
    readonly serviceAccountEmail?: string;
}
export declare function integrationsAuthConfigDecryptedCredentialOidcTokenToTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialOidcTokenOutputReference | IntegrationsAuthConfigDecryptedCredentialOidcToken): any;
export declare function integrationsAuthConfigDecryptedCredentialOidcTokenToHclTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialOidcTokenOutputReference | IntegrationsAuthConfigDecryptedCredentialOidcToken): any;
export declare class IntegrationsAuthConfigDecryptedCredentialOidcTokenOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): IntegrationsAuthConfigDecryptedCredentialOidcToken | undefined;
    set internalValue(value: IntegrationsAuthConfigDecryptedCredentialOidcToken | undefined);
    private _audience?;
    get audience(): string;
    set audience(value: string);
    resetAudience(): void;
    get audienceInput(): string | undefined;
    private _serviceAccountEmail?;
    get serviceAccountEmail(): string;
    set serviceAccountEmail(value: string);
    resetServiceAccountEmail(): void;
    get serviceAccountEmailInput(): string | undefined;
    get token(): string;
    get tokenExpireTime(): string;
}
export interface IntegrationsAuthConfigDecryptedCredentialServiceAccountCredentials {
    /**
    * A space-delimited list of requested scope permissions.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#scope IntegrationsAuthConfig#scope}
    */
    readonly scope?: string;
    /**
    * Name of the service account that has the permission to make the request.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#service_account IntegrationsAuthConfig#service_account}
    */
    readonly serviceAccount?: string;
}
export declare function integrationsAuthConfigDecryptedCredentialServiceAccountCredentialsToTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialServiceAccountCredentialsOutputReference | IntegrationsAuthConfigDecryptedCredentialServiceAccountCredentials): any;
export declare function integrationsAuthConfigDecryptedCredentialServiceAccountCredentialsToHclTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialServiceAccountCredentialsOutputReference | IntegrationsAuthConfigDecryptedCredentialServiceAccountCredentials): any;
export declare class IntegrationsAuthConfigDecryptedCredentialServiceAccountCredentialsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): IntegrationsAuthConfigDecryptedCredentialServiceAccountCredentials | undefined;
    set internalValue(value: IntegrationsAuthConfigDecryptedCredentialServiceAccountCredentials | undefined);
    private _scope?;
    get scope(): string;
    set scope(value: string);
    resetScope(): void;
    get scopeInput(): string | undefined;
    private _serviceAccount?;
    get serviceAccount(): string;
    set serviceAccount(value: string);
    resetServiceAccount(): void;
    get serviceAccountInput(): string | undefined;
}
export interface IntegrationsAuthConfigDecryptedCredentialUsernameAndPassword {
    /**
    * Password to be used.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#password IntegrationsAuthConfig#password}
    */
    readonly password?: string;
    /**
    * Username to be used.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#username IntegrationsAuthConfig#username}
    */
    readonly username?: string;
}
export declare function integrationsAuthConfigDecryptedCredentialUsernameAndPasswordToTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialUsernameAndPasswordOutputReference | IntegrationsAuthConfigDecryptedCredentialUsernameAndPassword): any;
export declare function integrationsAuthConfigDecryptedCredentialUsernameAndPasswordToHclTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialUsernameAndPasswordOutputReference | IntegrationsAuthConfigDecryptedCredentialUsernameAndPassword): any;
export declare class IntegrationsAuthConfigDecryptedCredentialUsernameAndPasswordOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): IntegrationsAuthConfigDecryptedCredentialUsernameAndPassword | undefined;
    set internalValue(value: IntegrationsAuthConfigDecryptedCredentialUsernameAndPassword | undefined);
    private _password?;
    get password(): string;
    set password(value: string);
    resetPassword(): void;
    get passwordInput(): string | undefined;
    private _username?;
    get username(): string;
    set username(value: string);
    resetUsername(): void;
    get usernameInput(): string | undefined;
}
export interface IntegrationsAuthConfigDecryptedCredential {
    /**
    * Credential type associated with auth configs.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#credential_type IntegrationsAuthConfig#credential_type}
    */
    readonly credentialType: string;
    /**
    * auth_token block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#auth_token IntegrationsAuthConfig#auth_token}
    */
    readonly authToken?: IntegrationsAuthConfigDecryptedCredentialAuthToken;
    /**
    * jwt block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#jwt IntegrationsAuthConfig#jwt}
    */
    readonly jwt?: IntegrationsAuthConfigDecryptedCredentialJwt;
    /**
    * oauth2_authorization_code block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#oauth2_authorization_code IntegrationsAuthConfig#oauth2_authorization_code}
    */
    readonly oauth2AuthorizationCode?: IntegrationsAuthConfigDecryptedCredentialOauth2AuthorizationCode;
    /**
    * oauth2_client_credentials block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#oauth2_client_credentials IntegrationsAuthConfig#oauth2_client_credentials}
    */
    readonly oauth2ClientCredentials?: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentials;
    /**
    * oidc_token block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#oidc_token IntegrationsAuthConfig#oidc_token}
    */
    readonly oidcToken?: IntegrationsAuthConfigDecryptedCredentialOidcToken;
    /**
    * service_account_credentials block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#service_account_credentials IntegrationsAuthConfig#service_account_credentials}
    */
    readonly serviceAccountCredentials?: IntegrationsAuthConfigDecryptedCredentialServiceAccountCredentials;
    /**
    * username_and_password block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#username_and_password IntegrationsAuthConfig#username_and_password}
    */
    readonly usernameAndPassword?: IntegrationsAuthConfigDecryptedCredentialUsernameAndPassword;
}
export declare function integrationsAuthConfigDecryptedCredentialToTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialOutputReference | IntegrationsAuthConfigDecryptedCredential): any;
export declare function integrationsAuthConfigDecryptedCredentialToHclTerraform(struct?: IntegrationsAuthConfigDecryptedCredentialOutputReference | IntegrationsAuthConfigDecryptedCredential): any;
export declare class IntegrationsAuthConfigDecryptedCredentialOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): IntegrationsAuthConfigDecryptedCredential | undefined;
    set internalValue(value: IntegrationsAuthConfigDecryptedCredential | undefined);
    private _credentialType?;
    get credentialType(): string;
    set credentialType(value: string);
    get credentialTypeInput(): string | undefined;
    private _authToken;
    get authToken(): IntegrationsAuthConfigDecryptedCredentialAuthTokenOutputReference;
    putAuthToken(value: IntegrationsAuthConfigDecryptedCredentialAuthToken): void;
    resetAuthToken(): void;
    get authTokenInput(): IntegrationsAuthConfigDecryptedCredentialAuthToken | undefined;
    private _jwt;
    get jwt(): IntegrationsAuthConfigDecryptedCredentialJwtOutputReference;
    putJwt(value: IntegrationsAuthConfigDecryptedCredentialJwt): void;
    resetJwt(): void;
    get jwtInput(): IntegrationsAuthConfigDecryptedCredentialJwt | undefined;
    private _oauth2AuthorizationCode;
    get oauth2AuthorizationCode(): IntegrationsAuthConfigDecryptedCredentialOauth2AuthorizationCodeOutputReference;
    putOauth2AuthorizationCode(value: IntegrationsAuthConfigDecryptedCredentialOauth2AuthorizationCode): void;
    resetOauth2AuthorizationCode(): void;
    get oauth2AuthorizationCodeInput(): IntegrationsAuthConfigDecryptedCredentialOauth2AuthorizationCode | undefined;
    private _oauth2ClientCredentials;
    get oauth2ClientCredentials(): IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentialsOutputReference;
    putOauth2ClientCredentials(value: IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentials): void;
    resetOauth2ClientCredentials(): void;
    get oauth2ClientCredentialsInput(): IntegrationsAuthConfigDecryptedCredentialOauth2ClientCredentials | undefined;
    private _oidcToken;
    get oidcToken(): IntegrationsAuthConfigDecryptedCredentialOidcTokenOutputReference;
    putOidcToken(value: IntegrationsAuthConfigDecryptedCredentialOidcToken): void;
    resetOidcToken(): void;
    get oidcTokenInput(): IntegrationsAuthConfigDecryptedCredentialOidcToken | undefined;
    private _serviceAccountCredentials;
    get serviceAccountCredentials(): IntegrationsAuthConfigDecryptedCredentialServiceAccountCredentialsOutputReference;
    putServiceAccountCredentials(value: IntegrationsAuthConfigDecryptedCredentialServiceAccountCredentials): void;
    resetServiceAccountCredentials(): void;
    get serviceAccountCredentialsInput(): IntegrationsAuthConfigDecryptedCredentialServiceAccountCredentials | undefined;
    private _usernameAndPassword;
    get usernameAndPassword(): IntegrationsAuthConfigDecryptedCredentialUsernameAndPasswordOutputReference;
    putUsernameAndPassword(value: IntegrationsAuthConfigDecryptedCredentialUsernameAndPassword): void;
    resetUsernameAndPassword(): void;
    get usernameAndPasswordInput(): IntegrationsAuthConfigDecryptedCredentialUsernameAndPassword | undefined;
}
export interface IntegrationsAuthConfigTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#create IntegrationsAuthConfig#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#delete IntegrationsAuthConfig#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#update IntegrationsAuthConfig#update}
    */
    readonly update?: string;
}
export declare function integrationsAuthConfigTimeoutsToTerraform(struct?: IntegrationsAuthConfigTimeouts | cdktf.IResolvable): any;
export declare function integrationsAuthConfigTimeoutsToHclTerraform(struct?: IntegrationsAuthConfigTimeouts | cdktf.IResolvable): any;
export declare class IntegrationsAuthConfigTimeoutsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): IntegrationsAuthConfigTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: IntegrationsAuthConfigTimeouts | cdktf.IResolvable | undefined);
    private _create?;
    get create(): string;
    set create(value: string);
    resetCreate(): void;
    get createInput(): string | undefined;
    private _delete?;
    get delete(): string;
    set delete(value: string);
    resetDelete(): void;
    get deleteInput(): string | undefined;
    private _update?;
    get update(): string;
    set update(value: string);
    resetUpdate(): void;
    get updateInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config google_integrations_auth_config}
*/
export declare class IntegrationsAuthConfig extends cdktf.TerraformResource {
    static readonly tfResourceType = "google_integrations_auth_config";
    /**
    * Generates CDKTF code for importing a IntegrationsAuthConfig resource upon running "cdktf plan <stack-name>"
    * @param scope The scope in which to define this construct
    * @param importToId The construct id used in the generated config for the IntegrationsAuthConfig to import
    * @param importFromId The id of the existing IntegrationsAuthConfig that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the IntegrationsAuthConfig to import is found
    */
    static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
    /**
    * Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.29.0/docs/resources/integrations_auth_config google_integrations_auth_config} Resource
    *
    * @param scope The scope in which to define this construct
    * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
    * @param options IntegrationsAuthConfigConfig
    */
    constructor(scope: Construct, id: string, config: IntegrationsAuthConfigConfig);
    get certificateId(): string;
    get createTime(): string;
    get creatorEmail(): string;
    get credentialType(): string;
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    get displayNameInput(): string | undefined;
    get encryptedCredential(): string;
    private _expiryNotificationDuration?;
    get expiryNotificationDuration(): string[];
    set expiryNotificationDuration(value: string[]);
    resetExpiryNotificationDuration(): void;
    get expiryNotificationDurationInput(): string[] | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    get lastModifierEmail(): string;
    private _location?;
    get location(): string;
    set location(value: string);
    get locationInput(): string | undefined;
    get name(): string;
    private _overrideValidTime?;
    get overrideValidTime(): string;
    set overrideValidTime(value: string);
    resetOverrideValidTime(): void;
    get overrideValidTimeInput(): string | undefined;
    private _project?;
    get project(): string;
    set project(value: string);
    resetProject(): void;
    get projectInput(): string | undefined;
    get reason(): string;
    get state(): string;
    get updateTime(): string;
    get validTime(): string;
    private _visibility?;
    get visibility(): string;
    set visibility(value: string);
    resetVisibility(): void;
    get visibilityInput(): string | undefined;
    private _clientCertificate;
    get clientCertificate(): IntegrationsAuthConfigClientCertificateOutputReference;
    putClientCertificate(value: IntegrationsAuthConfigClientCertificate): void;
    resetClientCertificate(): void;
    get clientCertificateInput(): IntegrationsAuthConfigClientCertificate | undefined;
    private _decryptedCredential;
    get decryptedCredential(): IntegrationsAuthConfigDecryptedCredentialOutputReference;
    putDecryptedCredential(value: IntegrationsAuthConfigDecryptedCredential): void;
    resetDecryptedCredential(): void;
    get decryptedCredentialInput(): IntegrationsAuthConfigDecryptedCredential | undefined;
    private _timeouts;
    get timeouts(): IntegrationsAuthConfigTimeoutsOutputReference;
    putTimeouts(value: IntegrationsAuthConfigTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | IntegrationsAuthConfigTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
