import { Value } from '../../cloudformation/Value';
import { ResourceServerScopeTypeProps } from './userpoolresourceserver/ResourceServerScopeTypeProps';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
/**
  The <code>AWS::Cognito::UserPoolResourceServer</code> resource creates a new OAuth2.0 resource server and defines custom scopes in it.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html">the AWS Docs</a>
*/
export type UserPoolResourceServer = AwsResource<'AWS::Cognito::UserPoolResourceServer', UserPoolResourceServerProperties>;
export declare function userPoolResourceServer(userPoolResourceServerProps: UserPoolResourceServerProperties): UserPoolResourceServer;
/**
  The <code>AWS::Cognito::UserPoolResourceServer</code> resource creates a new OAuth2.0 resource server and defines custom scopes in it.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html">the AWS Docs</a>
*/
export interface UserPoolResourceServerProperties {
    /** <code>UserPoolId</code>  <a name="cfn-cognito-userpoolresourceserver-userpoolid"></a>
  The user pool ID for the user pool.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>55</code><br />
  
  Pattern: <code>[\w-]+_[0-9a-zA-Z]+</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> */
    userPoolId: Value<string>;
    /** <code>Identifier</code>  <a name="cfn-cognito-userpoolresourceserver-identifier"></a>
  A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: <code>https://my-weather-api.example.com</code>.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>256</code><br />
  
  Pattern: <code>[\x21\x23-\x5B\x5D-\x7E]+</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> */
    identifier: Value<string>;
    /** <code>Scopes</code>  <a name="cfn-cognito-userpoolresourceserver-scopes"></a>
  A list of scopes. Each scope is a map with keys <code>ScopeName</code> and <code>ScopeDescription</code>.<br />
  
  Required: No<br />
  
  Maximum: <code>100</code><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> */
    scopes?: ResourceServerScopeTypeProps[];
    /** <code>Name</code>  <a name="cfn-cognito-userpoolresourceserver-name"></a>
  A friendly name for the resource server.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>256</code><br />
  
  Pattern: <code>[\w\s+=,.@-]+</code><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> */
    name: Value<string>;
}
