import { AccessLevelList } from '../../shared/access-level';
import { PolicyStatement, Operator } from '../../shared';
import { aws_iam as iam } from "aws-cdk-lib";
/**
 * Statement provider for service [s3files](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3files.html).
 *
 * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
 */
export declare class S3files extends PolicyStatement {
    servicePrefix: string;
    /**
     * Grants permission to allow an NFS client read-access to a file system
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifAccessPointArn()
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/s3files-client-authorization.html
     */
    toClientMount(): this;
    /**
     * Grants permission to allow an NFS client root-access to a file system
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAccessPointArn()
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/s3files-client-authorization.html
     */
    toClientRootAccess(): this;
    /**
     * Grants permission to allow an NFS client write-access to a file system
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAccessPointArn()
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/s3files-client-authorization.html
     */
    toClientWrite(): this;
    /**
     * Grants permission to create an access point for the specified file system
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsTagKeys()
     * - .ifAwsRequestTag()
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3Files_CreateAccessPoint.html
     */
    toCreateAccessPoint(): this;
    /**
     * Grants permission to create a new file system
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3Files_CreateFileSystem.html
     */
    toCreateFileSystem(): this;
    /**
     * Grants permission to create a mount target for a file system
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3Files_CreateMountTarget.html
     */
    toCreateMountTarget(): this;
    /**
     * Grants permission to delete a specified access point
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3Files_DeleteAccessPoint.html
     */
    toDeleteAccessPoint(): this;
    /**
     * Grants permission to delete a specified file system
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3Files_DeleteFileSystem.html
     */
    toDeleteFileSystem(): this;
    /**
     * Grants permission to delete the IAM resource policy for a specified file system
     *
     * Access Level: Permissions management
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3Files_DeleteFileSystemPolicy.html
     */
    toDeleteFileSystemPolicy(): this;
    /**
     * Grants permission to delete a specified mount target
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3Files_DeleteMountTarget.html
     */
    toDeleteMountTarget(): this;
    /**
     * Grants permission to get resource information for a specified access point
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3Files_GetAccessPoint.html
     */
    toGetAccessPoint(): this;
    /**
     * Grants permission to get resource information for a specified file system
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3Files_GetFileSystem.html
     */
    toGetFileSystem(): this;
    /**
     * Grants permission to get the IAM resource policy for a specified file system
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3Files_GetFileSystemPolicy.html
     */
    toGetFileSystemPolicy(): this;
    /**
     * Grants permission to get resource information for a specified mount target
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3Files_GetMountTarget.html
     */
    toGetMountTarget(): this;
    /**
     * Grants permission to get a synchronization configuration for a specified file system
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3Files_GetSynchronizationConfiguration.html
     */
    toGetSynchronizationConfiguration(): this;
    /**
     * Grants permission to get a paginated list of all access points in the account
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3Files_ListAccessPoints.html
     */
    toListAccessPoints(): this;
    /**
     * Grants permission to get a paginated list of all file systems in the account
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3Files_ListFileSystems.html
     */
    toListFileSystems(): this;
    /**
     * Grants permission to get a paginated list of all mount targets in the account
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3Files_ListMountTargets.html
     */
    toListMountTargets(): this;
    /**
     * Grants permission to list tags for a specified S3 Files resource
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3Files_ListTagsForResource.html
     */
    toListTagsForResource(): this;
    /**
     * Grants permission to add an IAM resource policy to a specified file system
     *
     * Access Level: Permissions management
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3Files_PutFileSystemPolicy.html
     */
    toPutFileSystemPolicy(): this;
    /**
     * Grants permission to add a synchronization configuration to a specified file system
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3Files_PutSynchronizationConfiguration.html
     */
    toPutSynchronizationConfiguration(): this;
    /**
     * Grants permission to tag a specified S3 Files resource
     *
     * Access Level: Tagging
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     * - .ifCreateAction()
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3Files_TagResource.html
     */
    toTagResource(): this;
    /**
     * Grants permission to untag a specified S3 Files resource
     *
     * Access Level: Tagging
     *
     * Possible conditions:
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3Files_UntagResource.html
     */
    toUntagResource(): this;
    /**
     * Grants permission to update resource information for a specified mount target
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3Files_UpdateMountTarget.html
     */
    toUpdateMountTarget(): this;
    protected accessLevelList: AccessLevelList;
    /**
     * Adds a resource of type file-system to the statement
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/creating-using-create-fs.html
     *
     * @param fileSystemId - Identifier for the fileSystemId.
     * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
     * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
     * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     */
    onFileSystem(fileSystemId: string, account?: string, region?: string, partition?: string): this;
    /**
     * Adds a resource of type access-point to the statement
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/s3files-access-points.html
     *
     * @param fileSystemId - Identifier for the fileSystemId.
     * @param accessPointId - Identifier for the accessPointId.
     * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
     * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
     * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     */
    onAccessPoint(fileSystemId: string, accessPointId: string, account?: string, region?: string, partition?: string): this;
    /**
     * Filters access by the tags that are passed in the request
     *
     * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag
     *
     * Applies to actions:
     * - .toCreateAccessPoint()
     * - .toCreateFileSystem()
     * - .toTagResource()
     *
     * @param tagKey The tag key to check
     * @param value The value(s) to check
     * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
     */
    ifAwsRequestTag(tagKey: string, value: string | string[], operator?: Operator | string): this;
    /**
     * Filters access by the tags associated with the resource
     *
     * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag
     *
     * Applies to resource types:
     * - file-system
     * - access-point
     *
     * @param tagKey The tag key to check
     * @param value The value(s) to check
     * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
     */
    ifAwsResourceTag(tagKey: string, value: string | string[], operator?: Operator | string): this;
    /**
     * Filters access by the tag keys that are passed in the request
     *
     * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys
     *
     * Applies to actions:
     * - .toCreateAccessPoint()
     * - .toCreateFileSystem()
     * - .toTagResource()
     * - .toUntagResource()
     *
     * @param value The value(s) to check
     * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
     */
    ifAwsTagKeys(value: string | string[], operator?: Operator | string): this;
    /**
     * Filters access by the ARN of the access point used to mount the file system
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/s3files-access-points.html
     *
     * Applies to actions:
     * - .toClientMount()
     * - .toClientRootAccess()
     * - .toClientWrite()
     *
     * @param value The value(s) to check
     * @param operator Works with [arn operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN). **Default:** `ArnLike`
     */
    ifAccessPointArn(value: string | string[], operator?: Operator | string): this;
    /**
     * Filters access by the name of a resource-creating API action
     *
     * https://docs.aws.amazon.com/AmazonS3/latest/API/using-tags-s3files.html
     *
     * Applies to actions:
     * - .toTagResource()
     *
     * @param value The value(s) to check
     * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
     */
    ifCreateAction(value: string | string[], operator?: Operator | string): this;
    /**
     * Statement provider for service [s3files](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3files.html).
     *
     */
    constructor(props?: iam.PolicyStatementProps);
}
