import { Value } from '../../cloudformation/Value';
import { DeviceOptionsProps } from './verifiedaccesstrustprovider/DeviceOptionsProps';
import { OidcOptionsProps } from './verifiedaccesstrustprovider/OidcOptionsProps';
import { SseSpecificationProps } from './verifiedaccesstrustprovider/SseSpecificationProps';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type VerifiedAccessTrustProviderAttributes = {
    VerifiedAccessTrustProviderId: Attribute<string>;
    CreationTime: Attribute<string>;
    LastUpdatedTime: Attribute<string>;
};
export type VerifiedAccessTrustProvider = AwsResource<'AWS::EC2::VerifiedAccessTrustProvider', VerifiedAccessTrustProviderProperties, VerifiedAccessTrustProviderAttributes>;
/**
  Describes a Verified Access trust provider.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccesstrustprovider.html">the AWS Docs</a>
*/
export declare function verifiedAccessTrustProvider(verifiedAccessTrustProviderProps: VerifiedAccessTrustProviderProperties): VerifiedAccessTrustProvider;
/**
  Describes a Verified Access trust provider.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccesstrustprovider.html">the AWS Docs</a>
*/
export interface VerifiedAccessTrustProviderProperties {
    /** <code>PolicyReferenceName</code>  <a name="cfn-ec2-verifiedaccesstrustprovider-policyreferencename"></a>
  The identifier to be used when working with policy rules.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    policyReferenceName: Value<string>;
    /** <code>DeviceOptions</code>  <a name="cfn-ec2-verifiedaccesstrustprovider-deviceoptions"></a>
  The options for device-identity trust provider.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    deviceOptions?: DeviceOptionsProps;
    /** <code>DeviceTrustProviderType</code>  <a name="cfn-ec2-verifiedaccesstrustprovider-devicetrustprovidertype"></a>
  The type of device-based trust provider.<br />
  
  Required: No<br />
  
  Allowed values: <code>crowdstrike | jamf</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    deviceTrustProviderType?: Value<'crowdstrike' | 'jamf'>;
    /** <code>Description</code>  <a name="cfn-ec2-verifiedaccesstrustprovider-description"></a>
  A description for the AWS Verified Access trust provider.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    description?: Value<string>;
    /** <code>OidcOptions</code>  <a name="cfn-ec2-verifiedaccesstrustprovider-oidcoptions"></a>
  The options for an OpenID Connect-compatible user-identity trust provider.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    oidcOptions?: OidcOptionsProps;
    /** <code>TrustProviderType</code>  <a name="cfn-ec2-verifiedaccesstrustprovider-trustprovidertype"></a>
  The type of Verified Access trust provider.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>device | user</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    trustProviderType: Value<'device' | 'user'>;
    /**  */
    sseSpecification?: SseSpecificationProps;
    /** <code>UserTrustProviderType</code>  <a name="cfn-ec2-verifiedaccesstrustprovider-usertrustprovidertype"></a>
  The type of user-based trust provider.<br />
  
  Required: No<br />
  
  Allowed values: <code>iam-identity-center | oidc</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    userTrustProviderType?: Value<'iam-identity-center' | 'oidc'>;
    /** <code>Tags</code>  <a name="cfn-ec2-verifiedaccesstrustprovider-tags"></a>
  The tags.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    tags?: Tag[];
}
