import * as HttpClient from "effect/unstable/http/HttpClient";
import * as S from "effect/Schema";
import * as stream from "effect/Stream";
import * as API from "../client/api.ts";
import type { Credentials } from "../credentials.ts";
import type { CommonErrors } from "../errors.ts";
import type { Region } from "../region.ts";
export type PermissionName = string;
export type Policy = string;
export type TagKey = string;
export type TagValue = string;
export type MaxResults = number;
export interface AcceptResourceShareInvitationRequest {
    resourceShareInvitationArn: string;
    clientToken?: string;
}
export declare const AcceptResourceShareInvitationRequest: S.Schema<AcceptResourceShareInvitationRequest>;
export type ResourceShareInvitationStatus = "PENDING" | "ACCEPTED" | "REJECTED" | "EXPIRED" | (string & {});
export declare const ResourceShareInvitationStatus: S.String;
export type ResourceShareAssociationType = "PRINCIPAL" | "RESOURCE" | "SOURCE" | (string & {});
export declare const ResourceShareAssociationType: S.String;
export type ResourceShareAssociationStatus = "ASSOCIATING" | "ASSOCIATED" | "FAILED" | "DISASSOCIATING" | "DISASSOCIATED" | "SUSPENDED" | "SUSPENDING" | "RESTORING" | (string & {});
export declare const ResourceShareAssociationStatus: S.String;
export interface ResourceShareAssociation {
    resourceShareArn?: string;
    resourceShareName?: string;
    associatedEntity?: string;
    associationType?: ResourceShareAssociationType;
    status?: ResourceShareAssociationStatus;
    statusMessage?: string;
    creationTime?: Date;
    lastUpdatedTime?: Date;
    external?: boolean;
}
export declare const ResourceShareAssociation: S.Schema<ResourceShareAssociation>;
export type ResourceShareAssociationList = ResourceShareAssociation[];
export declare const ResourceShareAssociationList: S.$Array<S.Schema<ResourceShareAssociation>>;
export interface ResourceShareInvitation {
    resourceShareInvitationArn?: string;
    resourceShareName?: string;
    resourceShareArn?: string;
    senderAccountId?: string;
    receiverAccountId?: string;
    invitationTimestamp?: Date;
    status?: ResourceShareInvitationStatus;
    resourceShareAssociations?: ResourceShareAssociation[];
    receiverArn?: string;
}
export declare const ResourceShareInvitation: S.Schema<ResourceShareInvitation>;
export interface AcceptResourceShareInvitationResponse {
    resourceShareInvitation?: ResourceShareInvitation;
    clientToken?: string;
}
export declare const AcceptResourceShareInvitationResponse: S.Schema<AcceptResourceShareInvitationResponse>;
export type ResourceArnList = string[];
export declare const ResourceArnList: S.$Array<S.String>;
export type PrincipalArnOrIdList = string[];
export declare const PrincipalArnOrIdList: S.$Array<S.String>;
export type SourceArnOrAccountList = string[];
export declare const SourceArnOrAccountList: S.$Array<S.String>;
export interface AssociateResourceShareRequest {
    resourceShareArn: string;
    resourceArns?: string[];
    principals?: string[];
    clientToken?: string;
    sources?: string[];
}
export declare const AssociateResourceShareRequest: S.Schema<AssociateResourceShareRequest>;
export interface AssociateResourceShareResponse {
    resourceShareAssociations?: ResourceShareAssociation[];
    clientToken?: string;
}
export declare const AssociateResourceShareResponse: S.Schema<AssociateResourceShareResponse>;
export interface AssociateResourceSharePermissionRequest {
    resourceShareArn: string;
    permissionArn: string;
    replace?: boolean;
    clientToken?: string;
    permissionVersion?: number;
}
export declare const AssociateResourceSharePermissionRequest: S.Schema<AssociateResourceSharePermissionRequest>;
export interface AssociateResourceSharePermissionResponse {
    returnValue?: boolean;
    clientToken?: string;
}
export declare const AssociateResourceSharePermissionResponse: S.Schema<AssociateResourceSharePermissionResponse>;
export interface Tag {
    key?: string;
    value?: string;
}
export declare const Tag: S.Schema<Tag>;
export type TagList = Tag[];
export declare const TagList: S.$Array<S.Schema<Tag>>;
export interface CreatePermissionRequest {
    name: string;
    resourceType: string;
    policyTemplate: string;
    clientToken?: string;
    tags?: Tag[];
}
export declare const CreatePermissionRequest: S.Schema<CreatePermissionRequest>;
export type PermissionType = "CUSTOMER_MANAGED" | "AWS_MANAGED" | (string & {});
export declare const PermissionType: S.String;
export type PermissionFeatureSet = "CREATED_FROM_POLICY" | "PROMOTING_TO_STANDARD" | "STANDARD" | (string & {});
export declare const PermissionFeatureSet: S.String;
export interface ResourceSharePermissionSummary {
    arn?: string;
    version?: string;
    defaultVersion?: boolean;
    name?: string;
    resourceType?: string;
    status?: string;
    creationTime?: Date;
    lastUpdatedTime?: Date;
    isResourceTypeDefault?: boolean;
    permissionType?: PermissionType;
    featureSet?: PermissionFeatureSet;
    tags?: Tag[];
}
export declare const ResourceSharePermissionSummary: S.Schema<ResourceSharePermissionSummary>;
export interface CreatePermissionResponse {
    permission?: ResourceSharePermissionSummary;
    clientToken?: string;
}
export declare const CreatePermissionResponse: S.Schema<CreatePermissionResponse>;
export interface CreatePermissionVersionRequest {
    permissionArn: string;
    policyTemplate: string;
    clientToken?: string;
}
export declare const CreatePermissionVersionRequest: S.Schema<CreatePermissionVersionRequest>;
export type PermissionStatus = "ATTACHABLE" | "UNATTACHABLE" | "DELETING" | "DELETED" | (string & {});
export declare const PermissionStatus: S.String;
export interface ResourceSharePermissionDetail {
    arn?: string;
    version?: string;
    defaultVersion?: boolean;
    name?: string;
    resourceType?: string;
    permission?: string;
    creationTime?: Date;
    lastUpdatedTime?: Date;
    isResourceTypeDefault?: boolean;
    permissionType?: PermissionType;
    featureSet?: PermissionFeatureSet;
    status?: PermissionStatus;
    tags?: Tag[];
}
export declare const ResourceSharePermissionDetail: S.Schema<ResourceSharePermissionDetail>;
export interface CreatePermissionVersionResponse {
    permission?: ResourceSharePermissionDetail;
    clientToken?: string;
}
export declare const CreatePermissionVersionResponse: S.Schema<CreatePermissionVersionResponse>;
export type PermissionArnList = string[];
export declare const PermissionArnList: S.$Array<S.String>;
export interface ResourceShareConfiguration {
    retainSharingOnAccountLeaveOrganization?: boolean;
}
export declare const ResourceShareConfiguration: S.Schema<ResourceShareConfiguration>;
export interface CreateResourceShareRequest {
    name: string;
    resourceArns?: string[];
    principals?: string[];
    tags?: Tag[];
    allowExternalPrincipals?: boolean;
    clientToken?: string;
    permissionArns?: string[];
    sources?: string[];
    resourceShareConfiguration?: ResourceShareConfiguration;
}
export declare const CreateResourceShareRequest: S.Schema<CreateResourceShareRequest>;
export type ResourceShareStatus = "PENDING" | "ACTIVE" | "FAILED" | "DELETING" | "DELETED" | (string & {});
export declare const ResourceShareStatus: S.String;
export type ResourceShareFeatureSet = "CREATED_FROM_POLICY" | "PROMOTING_TO_STANDARD" | "STANDARD" | (string & {});
export declare const ResourceShareFeatureSet: S.String;
export interface ResourceShare {
    resourceShareArn?: string;
    name?: string;
    owningAccountId?: string;
    allowExternalPrincipals?: boolean;
    status?: ResourceShareStatus;
    statusMessage?: string;
    tags?: Tag[];
    creationTime?: Date;
    lastUpdatedTime?: Date;
    featureSet?: ResourceShareFeatureSet;
    resourceShareConfiguration?: ResourceShareConfiguration;
}
export declare const ResourceShare: S.Schema<ResourceShare>;
export interface CreateResourceShareResponse {
    resourceShare?: ResourceShare;
    clientToken?: string;
}
export declare const CreateResourceShareResponse: S.Schema<CreateResourceShareResponse>;
export interface DeletePermissionRequest {
    permissionArn: string;
    clientToken?: string;
}
export declare const DeletePermissionRequest: S.Schema<DeletePermissionRequest>;
export interface DeletePermissionResponse {
    returnValue?: boolean;
    clientToken?: string;
    permissionStatus?: PermissionStatus;
}
export declare const DeletePermissionResponse: S.Schema<DeletePermissionResponse>;
export interface DeletePermissionVersionRequest {
    permissionArn: string;
    permissionVersion: number;
    clientToken?: string;
}
export declare const DeletePermissionVersionRequest: S.Schema<DeletePermissionVersionRequest>;
export interface DeletePermissionVersionResponse {
    returnValue?: boolean;
    clientToken?: string;
    permissionStatus?: PermissionStatus;
}
export declare const DeletePermissionVersionResponse: S.Schema<DeletePermissionVersionResponse>;
export interface DeleteResourceShareRequest {
    resourceShareArn: string;
    clientToken?: string;
}
export declare const DeleteResourceShareRequest: S.Schema<DeleteResourceShareRequest>;
export interface DeleteResourceShareResponse {
    returnValue?: boolean;
    clientToken?: string;
}
export declare const DeleteResourceShareResponse: S.Schema<DeleteResourceShareResponse>;
export interface DisassociateResourceShareRequest {
    resourceShareArn: string;
    resourceArns?: string[];
    principals?: string[];
    clientToken?: string;
    sources?: string[];
}
export declare const DisassociateResourceShareRequest: S.Schema<DisassociateResourceShareRequest>;
export interface DisassociateResourceShareResponse {
    resourceShareAssociations?: ResourceShareAssociation[];
    clientToken?: string;
}
export declare const DisassociateResourceShareResponse: S.Schema<DisassociateResourceShareResponse>;
export interface DisassociateResourceSharePermissionRequest {
    resourceShareArn: string;
    permissionArn: string;
    clientToken?: string;
}
export declare const DisassociateResourceSharePermissionRequest: S.Schema<DisassociateResourceSharePermissionRequest>;
export interface DisassociateResourceSharePermissionResponse {
    returnValue?: boolean;
    clientToken?: string;
}
export declare const DisassociateResourceSharePermissionResponse: S.Schema<DisassociateResourceSharePermissionResponse>;
export interface EnableSharingWithAwsOrganizationRequest {
}
export declare const EnableSharingWithAwsOrganizationRequest: S.Schema<EnableSharingWithAwsOrganizationRequest>;
export interface EnableSharingWithAwsOrganizationResponse {
    returnValue?: boolean;
}
export declare const EnableSharingWithAwsOrganizationResponse: S.Schema<EnableSharingWithAwsOrganizationResponse>;
export interface GetPermissionRequest {
    permissionArn: string;
    permissionVersion?: number;
}
export declare const GetPermissionRequest: S.Schema<GetPermissionRequest>;
export interface GetPermissionResponse {
    permission?: ResourceSharePermissionDetail;
}
export declare const GetPermissionResponse: S.Schema<GetPermissionResponse>;
export interface GetResourcePoliciesRequest {
    resourceArns: string[];
    principal?: string;
    nextToken?: string;
    maxResults?: number;
}
export declare const GetResourcePoliciesRequest: S.Schema<GetResourcePoliciesRequest>;
export type PolicyList = string[];
export declare const PolicyList: S.$Array<S.String>;
export interface GetResourcePoliciesResponse {
    policies?: string[];
    nextToken?: string;
}
export declare const GetResourcePoliciesResponse: S.Schema<GetResourcePoliciesResponse>;
export type ResourceShareArnList = string[];
export declare const ResourceShareArnList: S.$Array<S.String>;
export interface GetResourceShareAssociationsRequest {
    associationType: ResourceShareAssociationType;
    resourceShareArns?: string[];
    resourceArn?: string;
    principal?: string;
    associationStatus?: ResourceShareAssociationStatus;
    nextToken?: string;
    maxResults?: number;
}
export declare const GetResourceShareAssociationsRequest: S.Schema<GetResourceShareAssociationsRequest>;
export interface GetResourceShareAssociationsResponse {
    resourceShareAssociations?: ResourceShareAssociation[];
    nextToken?: string;
}
export declare const GetResourceShareAssociationsResponse: S.Schema<GetResourceShareAssociationsResponse>;
export type ResourceShareInvitationArnList = string[];
export declare const ResourceShareInvitationArnList: S.$Array<S.String>;
export interface GetResourceShareInvitationsRequest {
    resourceShareInvitationArns?: string[];
    resourceShareArns?: string[];
    nextToken?: string;
    maxResults?: number;
}
export declare const GetResourceShareInvitationsRequest: S.Schema<GetResourceShareInvitationsRequest>;
export type ResourceShareInvitationList = ResourceShareInvitation[];
export declare const ResourceShareInvitationList: S.$Array<S.Schema<ResourceShareInvitation>>;
export interface GetResourceShareInvitationsResponse {
    resourceShareInvitations?: ResourceShareInvitation[];
    nextToken?: string;
}
export declare const GetResourceShareInvitationsResponse: S.Schema<GetResourceShareInvitationsResponse>;
export type ResourceOwner = "SELF" | "OTHER-ACCOUNTS" | (string & {});
export declare const ResourceOwner: S.String;
export type TagValueList = string[];
export declare const TagValueList: S.$Array<S.String>;
export interface TagFilter {
    tagKey?: string;
    tagValues?: string[];
}
export declare const TagFilter: S.Schema<TagFilter>;
export type TagFilters = TagFilter[];
export declare const TagFilters: S.$Array<S.Schema<TagFilter>>;
export interface GetResourceSharesRequest {
    resourceShareArns?: string[];
    resourceShareStatus?: ResourceShareStatus;
    resourceOwner: ResourceOwner;
    name?: string;
    tagFilters?: TagFilter[];
    nextToken?: string;
    maxResults?: number;
    permissionArn?: string;
    permissionVersion?: number;
}
export declare const GetResourceSharesRequest: S.Schema<GetResourceSharesRequest>;
export type ResourceShareList = ResourceShare[];
export declare const ResourceShareList: S.$Array<S.Schema<ResourceShare>>;
export interface GetResourceSharesResponse {
    resourceShares?: ResourceShare[];
    nextToken?: string;
}
export declare const GetResourceSharesResponse: S.Schema<GetResourceSharesResponse>;
export type ResourceRegionScopeFilter = "ALL" | "REGIONAL" | "GLOBAL" | (string & {});
export declare const ResourceRegionScopeFilter: S.String;
export interface ListPendingInvitationResourcesRequest {
    resourceShareInvitationArn: string;
    nextToken?: string;
    maxResults?: number;
    resourceRegionScope?: ResourceRegionScopeFilter;
}
export declare const ListPendingInvitationResourcesRequest: S.Schema<ListPendingInvitationResourcesRequest>;
export type ResourceStatus = "AVAILABLE" | "ZONAL_RESOURCE_INACCESSIBLE" | "LIMIT_EXCEEDED" | "UNAVAILABLE" | "PENDING" | (string & {});
export declare const ResourceStatus: S.String;
export type ResourceRegionScope = "REGIONAL" | "GLOBAL" | (string & {});
export declare const ResourceRegionScope: S.String;
export interface Resource {
    arn?: string;
    type?: string;
    resourceShareArn?: string;
    resourceGroupArn?: string;
    status?: ResourceStatus;
    statusMessage?: string;
    creationTime?: Date;
    lastUpdatedTime?: Date;
    resourceRegionScope?: ResourceRegionScope;
}
export declare const Resource: S.Schema<Resource>;
export type ResourceList = Resource[];
export declare const ResourceList: S.$Array<S.Schema<Resource>>;
export interface ListPendingInvitationResourcesResponse {
    resources?: Resource[];
    nextToken?: string;
}
export declare const ListPendingInvitationResourcesResponse: S.Schema<ListPendingInvitationResourcesResponse>;
export interface ListPermissionAssociationsRequest {
    permissionArn?: string;
    permissionVersion?: number;
    associationStatus?: ResourceShareAssociationStatus;
    resourceType?: string;
    featureSet?: PermissionFeatureSet;
    defaultVersion?: boolean;
    nextToken?: string;
    maxResults?: number;
}
export declare const ListPermissionAssociationsRequest: S.Schema<ListPermissionAssociationsRequest>;
export interface AssociatedPermission {
    arn?: string;
    permissionVersion?: string;
    defaultVersion?: boolean;
    resourceType?: string;
    status?: string;
    featureSet?: PermissionFeatureSet;
    lastUpdatedTime?: Date;
    resourceShareArn?: string;
}
export declare const AssociatedPermission: S.Schema<AssociatedPermission>;
export type AssociatedPermissionList = AssociatedPermission[];
export declare const AssociatedPermissionList: S.$Array<S.Schema<AssociatedPermission>>;
export interface ListPermissionAssociationsResponse {
    permissions?: AssociatedPermission[];
    nextToken?: string;
}
export declare const ListPermissionAssociationsResponse: S.Schema<ListPermissionAssociationsResponse>;
export type PermissionTypeFilter = "ALL" | "AWS_MANAGED" | "CUSTOMER_MANAGED" | (string & {});
export declare const PermissionTypeFilter: S.String;
export interface ListPermissionsRequest {
    resourceType?: string;
    nextToken?: string;
    maxResults?: number;
    permissionType?: PermissionTypeFilter;
}
export declare const ListPermissionsRequest: S.Schema<ListPermissionsRequest>;
export type ResourceSharePermissionList = ResourceSharePermissionSummary[];
export declare const ResourceSharePermissionList: S.$Array<S.Schema<ResourceSharePermissionSummary>>;
export interface ListPermissionsResponse {
    permissions?: ResourceSharePermissionSummary[];
    nextToken?: string;
}
export declare const ListPermissionsResponse: S.Schema<ListPermissionsResponse>;
export interface ListPermissionVersionsRequest {
    permissionArn: string;
    nextToken?: string;
    maxResults?: number;
}
export declare const ListPermissionVersionsRequest: S.Schema<ListPermissionVersionsRequest>;
export interface ListPermissionVersionsResponse {
    permissions?: ResourceSharePermissionSummary[];
    nextToken?: string;
}
export declare const ListPermissionVersionsResponse: S.Schema<ListPermissionVersionsResponse>;
export interface ListPrincipalsRequest {
    resourceOwner: ResourceOwner;
    resourceArn?: string;
    principals?: string[];
    resourceType?: string;
    resourceShareArns?: string[];
    nextToken?: string;
    maxResults?: number;
}
export declare const ListPrincipalsRequest: S.Schema<ListPrincipalsRequest>;
export interface Principal {
    id?: string;
    resourceShareArn?: string;
    creationTime?: Date;
    lastUpdatedTime?: Date;
    external?: boolean;
}
export declare const Principal: S.Schema<Principal>;
export type PrincipalList = Principal[];
export declare const PrincipalList: S.$Array<S.Schema<Principal>>;
export interface ListPrincipalsResponse {
    principals?: Principal[];
    nextToken?: string;
}
export declare const ListPrincipalsResponse: S.Schema<ListPrincipalsResponse>;
export type ReplacePermissionAssociationsWorkIdList = string[];
export declare const ReplacePermissionAssociationsWorkIdList: S.$Array<S.String>;
export type ReplacePermissionAssociationsWorkStatus = "IN_PROGRESS" | "COMPLETED" | "FAILED" | (string & {});
export declare const ReplacePermissionAssociationsWorkStatus: S.String;
export interface ListReplacePermissionAssociationsWorkRequest {
    workIds?: string[];
    status?: ReplacePermissionAssociationsWorkStatus;
    nextToken?: string;
    maxResults?: number;
}
export declare const ListReplacePermissionAssociationsWorkRequest: S.Schema<ListReplacePermissionAssociationsWorkRequest>;
export interface ReplacePermissionAssociationsWork {
    id?: string;
    fromPermissionArn?: string;
    fromPermissionVersion?: string;
    toPermissionArn?: string;
    toPermissionVersion?: string;
    status?: ReplacePermissionAssociationsWorkStatus;
    statusMessage?: string;
    creationTime?: Date;
    lastUpdatedTime?: Date;
}
export declare const ReplacePermissionAssociationsWork: S.Schema<ReplacePermissionAssociationsWork>;
export type ReplacePermissionAssociationsWorkList = ReplacePermissionAssociationsWork[];
export declare const ReplacePermissionAssociationsWorkList: S.$Array<S.Schema<ReplacePermissionAssociationsWork>>;
export interface ListReplacePermissionAssociationsWorkResponse {
    replacePermissionAssociationsWorks?: ReplacePermissionAssociationsWork[];
    nextToken?: string;
}
export declare const ListReplacePermissionAssociationsWorkResponse: S.Schema<ListReplacePermissionAssociationsWorkResponse>;
export interface ListResourcesRequest {
    resourceOwner: ResourceOwner;
    principal?: string;
    resourceType?: string;
    resourceArns?: string[];
    resourceShareArns?: string[];
    nextToken?: string;
    maxResults?: number;
    resourceRegionScope?: ResourceRegionScopeFilter;
}
export declare const ListResourcesRequest: S.Schema<ListResourcesRequest>;
export interface ListResourcesResponse {
    resources?: Resource[];
    nextToken?: string;
}
export declare const ListResourcesResponse: S.Schema<ListResourcesResponse>;
export interface ListResourceSharePermissionsRequest {
    resourceShareArn: string;
    nextToken?: string;
    maxResults?: number;
}
export declare const ListResourceSharePermissionsRequest: S.Schema<ListResourceSharePermissionsRequest>;
export interface ListResourceSharePermissionsResponse {
    permissions?: ResourceSharePermissionSummary[];
    nextToken?: string;
}
export declare const ListResourceSharePermissionsResponse: S.Schema<ListResourceSharePermissionsResponse>;
export interface ListResourceTypesRequest {
    nextToken?: string;
    maxResults?: number;
    resourceRegionScope?: ResourceRegionScopeFilter;
}
export declare const ListResourceTypesRequest: S.Schema<ListResourceTypesRequest>;
export interface ServiceNameAndResourceType {
    resourceType?: string;
    serviceName?: string;
    resourceRegionScope?: ResourceRegionScope;
}
export declare const ServiceNameAndResourceType: S.Schema<ServiceNameAndResourceType>;
export type ServiceNameAndResourceTypeList = ServiceNameAndResourceType[];
export declare const ServiceNameAndResourceTypeList: S.$Array<S.Schema<ServiceNameAndResourceType>>;
export interface ListResourceTypesResponse {
    resourceTypes?: ServiceNameAndResourceType[];
    nextToken?: string;
}
export declare const ListResourceTypesResponse: S.Schema<ListResourceTypesResponse>;
export interface ListSourceAssociationsRequest {
    resourceShareArns?: string[];
    sourceId?: string;
    sourceType?: string;
    associationStatus?: ResourceShareAssociationStatus;
    nextToken?: string;
    maxResults?: number;
}
export declare const ListSourceAssociationsRequest: S.Schema<ListSourceAssociationsRequest>;
export interface AssociatedSource {
    resourceShareArn?: string;
    sourceId?: string;
    sourceType?: string;
    status?: string;
    lastUpdatedTime?: Date;
    creationTime?: Date;
    statusMessage?: string;
}
export declare const AssociatedSource: S.Schema<AssociatedSource>;
export type AssociatedSourceList = AssociatedSource[];
export declare const AssociatedSourceList: S.$Array<S.Schema<AssociatedSource>>;
export interface ListSourceAssociationsResponse {
    sourceAssociations?: AssociatedSource[];
    nextToken?: string;
}
export declare const ListSourceAssociationsResponse: S.Schema<ListSourceAssociationsResponse>;
export interface PromotePermissionCreatedFromPolicyRequest {
    permissionArn: string;
    name: string;
    clientToken?: string;
}
export declare const PromotePermissionCreatedFromPolicyRequest: S.Schema<PromotePermissionCreatedFromPolicyRequest>;
export interface PromotePermissionCreatedFromPolicyResponse {
    permission?: ResourceSharePermissionSummary;
    clientToken?: string;
}
export declare const PromotePermissionCreatedFromPolicyResponse: S.Schema<PromotePermissionCreatedFromPolicyResponse>;
export interface PromoteResourceShareCreatedFromPolicyRequest {
    resourceShareArn: string;
}
export declare const PromoteResourceShareCreatedFromPolicyRequest: S.Schema<PromoteResourceShareCreatedFromPolicyRequest>;
export interface PromoteResourceShareCreatedFromPolicyResponse {
    returnValue?: boolean;
}
export declare const PromoteResourceShareCreatedFromPolicyResponse: S.Schema<PromoteResourceShareCreatedFromPolicyResponse>;
export interface RejectResourceShareInvitationRequest {
    resourceShareInvitationArn: string;
    clientToken?: string;
}
export declare const RejectResourceShareInvitationRequest: S.Schema<RejectResourceShareInvitationRequest>;
export interface RejectResourceShareInvitationResponse {
    resourceShareInvitation?: ResourceShareInvitation;
    clientToken?: string;
}
export declare const RejectResourceShareInvitationResponse: S.Schema<RejectResourceShareInvitationResponse>;
export interface ReplacePermissionAssociationsRequest {
    fromPermissionArn: string;
    fromPermissionVersion?: number;
    toPermissionArn: string;
    clientToken?: string;
}
export declare const ReplacePermissionAssociationsRequest: S.Schema<ReplacePermissionAssociationsRequest>;
export interface ReplacePermissionAssociationsResponse {
    replacePermissionAssociationsWork?: ReplacePermissionAssociationsWork;
    clientToken?: string;
}
export declare const ReplacePermissionAssociationsResponse: S.Schema<ReplacePermissionAssociationsResponse>;
export interface SetDefaultPermissionVersionRequest {
    permissionArn: string;
    permissionVersion: number;
    clientToken?: string;
}
export declare const SetDefaultPermissionVersionRequest: S.Schema<SetDefaultPermissionVersionRequest>;
export interface SetDefaultPermissionVersionResponse {
    returnValue?: boolean;
    clientToken?: string;
}
export declare const SetDefaultPermissionVersionResponse: S.Schema<SetDefaultPermissionVersionResponse>;
export interface TagResourceRequest {
    resourceShareArn?: string;
    tags: Tag[];
    resourceArn?: string;
}
export declare const TagResourceRequest: S.Schema<TagResourceRequest>;
export interface TagResourceResponse {
}
export declare const TagResourceResponse: S.Schema<TagResourceResponse>;
export type TagKeyList = string[];
export declare const TagKeyList: S.$Array<S.String>;
export interface UntagResourceRequest {
    resourceShareArn?: string;
    tagKeys: string[];
    resourceArn?: string;
}
export declare const UntagResourceRequest: S.Schema<UntagResourceRequest>;
export interface UntagResourceResponse {
}
export declare const UntagResourceResponse: S.Schema<UntagResourceResponse>;
export interface UpdateResourceShareRequest {
    resourceShareArn: string;
    name?: string;
    allowExternalPrincipals?: boolean;
    clientToken?: string;
}
export declare const UpdateResourceShareRequest: S.Schema<UpdateResourceShareRequest>;
export interface UpdateResourceShareResponse {
    resourceShare?: ResourceShare;
    clientToken?: string;
}
export declare const UpdateResourceShareResponse: S.Schema<UpdateResourceShareResponse>;
declare const IdempotentParameterMismatchException_base: S.Class<IdempotentParameterMismatchException, S.TaggedStruct<"IdempotentParameterMismatchException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class IdempotentParameterMismatchException extends IdempotentParameterMismatchException_base {
}
declare const InvalidClientTokenException_base: S.Class<InvalidClientTokenException, S.TaggedStruct<"InvalidClientTokenException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class InvalidClientTokenException extends InvalidClientTokenException_base {
}
declare const MalformedArnException_base: S.Class<MalformedArnException, S.TaggedStruct<"MalformedArnException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class MalformedArnException extends MalformedArnException_base {
}
declare const OperationNotPermittedException_base: S.Class<OperationNotPermittedException, S.TaggedStruct<"OperationNotPermittedException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class OperationNotPermittedException extends OperationNotPermittedException_base {
}
declare const ResourceShareInvitationAlreadyAcceptedException_base: S.Class<ResourceShareInvitationAlreadyAcceptedException, S.TaggedStruct<"ResourceShareInvitationAlreadyAcceptedException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class ResourceShareInvitationAlreadyAcceptedException extends ResourceShareInvitationAlreadyAcceptedException_base {
}
declare const ResourceShareInvitationAlreadyRejectedException_base: S.Class<ResourceShareInvitationAlreadyRejectedException, S.TaggedStruct<"ResourceShareInvitationAlreadyRejectedException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class ResourceShareInvitationAlreadyRejectedException extends ResourceShareInvitationAlreadyRejectedException_base {
}
declare const ResourceShareInvitationArnNotFoundException_base: S.Class<ResourceShareInvitationArnNotFoundException, S.TaggedStruct<"ResourceShareInvitationArnNotFoundException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class ResourceShareInvitationArnNotFoundException extends ResourceShareInvitationArnNotFoundException_base {
}
declare const ResourceShareInvitationExpiredException_base: S.Class<ResourceShareInvitationExpiredException, S.TaggedStruct<"ResourceShareInvitationExpiredException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class ResourceShareInvitationExpiredException extends ResourceShareInvitationExpiredException_base {
}
declare const ServerInternalException_base: S.Class<ServerInternalException, S.TaggedStruct<"ServerInternalException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ServerError: true;
    };
});
export declare class ServerInternalException extends ServerInternalException_base {
}
declare const ServiceUnavailableException_base: S.Class<ServiceUnavailableException, S.TaggedStruct<"ServiceUnavailableException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ServerError: true;
    };
});
export declare class ServiceUnavailableException extends ServiceUnavailableException_base {
}
declare const InvalidParameterException_base: S.Class<InvalidParameterException, S.TaggedStruct<"InvalidParameterException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class InvalidParameterException extends InvalidParameterException_base {
}
declare const InvalidStateTransitionException_base: S.Class<InvalidStateTransitionException, S.TaggedStruct<"InvalidStateTransitionException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class InvalidStateTransitionException extends InvalidStateTransitionException_base {
}
declare const ResourceShareLimitExceededException_base: S.Class<ResourceShareLimitExceededException, S.TaggedStruct<"ResourceShareLimitExceededException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class ResourceShareLimitExceededException extends ResourceShareLimitExceededException_base {
}
declare const ThrottlingException_base: S.Class<ThrottlingException, S.TaggedStruct<"ThrottlingException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ThrottlingError: true;
    };
});
export declare class ThrottlingException extends ThrottlingException_base {
}
declare const UnknownResourceException_base: S.Class<UnknownResourceException, S.TaggedStruct<"UnknownResourceException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class UnknownResourceException extends UnknownResourceException_base {
}
declare const InvalidPolicyException_base: S.Class<InvalidPolicyException, S.TaggedStruct<"InvalidPolicyException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class InvalidPolicyException extends InvalidPolicyException_base {
}
declare const MalformedPolicyTemplateException_base: S.Class<MalformedPolicyTemplateException, S.TaggedStruct<"MalformedPolicyTemplateException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class MalformedPolicyTemplateException extends MalformedPolicyTemplateException_base {
}
declare const PermissionAlreadyExistsException_base: S.Class<PermissionAlreadyExistsException, S.TaggedStruct<"PermissionAlreadyExistsException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ConflictError: true;
    };
}) & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        AlreadyExistsError: true;
    };
});
export declare class PermissionAlreadyExistsException extends PermissionAlreadyExistsException_base {
}
declare const PermissionLimitExceededException_base: S.Class<PermissionLimitExceededException, S.TaggedStruct<"PermissionLimitExceededException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class PermissionLimitExceededException extends PermissionLimitExceededException_base {
}
declare const PermissionVersionsLimitExceededException_base: S.Class<PermissionVersionsLimitExceededException, S.TaggedStruct<"PermissionVersionsLimitExceededException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class PermissionVersionsLimitExceededException extends PermissionVersionsLimitExceededException_base {
}
declare const TagLimitExceededException_base: S.Class<TagLimitExceededException, S.TaggedStruct<"TagLimitExceededException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class TagLimitExceededException extends TagLimitExceededException_base {
}
declare const TagPolicyViolationException_base: S.Class<TagPolicyViolationException, S.TaggedStruct<"TagPolicyViolationException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class TagPolicyViolationException extends TagPolicyViolationException_base {
}
declare const InvalidNextTokenException_base: S.Class<InvalidNextTokenException, S.TaggedStruct<"InvalidNextTokenException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class InvalidNextTokenException extends InvalidNextTokenException_base {
}
declare const ResourceArnNotFoundException_base: S.Class<ResourceArnNotFoundException, S.TaggedStruct<"ResourceArnNotFoundException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class ResourceArnNotFoundException extends ResourceArnNotFoundException_base {
}
declare const InvalidMaxResultsException_base: S.Class<InvalidMaxResultsException, S.TaggedStruct<"InvalidMaxResultsException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class InvalidMaxResultsException extends InvalidMaxResultsException_base {
}
declare const MissingRequiredParameterException_base: S.Class<MissingRequiredParameterException, S.TaggedStruct<"MissingRequiredParameterException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class MissingRequiredParameterException extends MissingRequiredParameterException_base {
}
declare const InvalidResourceTypeException_base: S.Class<InvalidResourceTypeException, S.TaggedStruct<"InvalidResourceTypeException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class InvalidResourceTypeException extends InvalidResourceTypeException_base {
}
declare const UnmatchedPolicyPermissionException_base: S.Class<UnmatchedPolicyPermissionException, S.TaggedStruct<"UnmatchedPolicyPermissionException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class UnmatchedPolicyPermissionException extends UnmatchedPolicyPermissionException_base {
}
export type AcceptResourceShareInvitationError = IdempotentParameterMismatchException | InvalidClientTokenException | MalformedArnException | OperationNotPermittedException | ResourceShareInvitationAlreadyAcceptedException | ResourceShareInvitationAlreadyRejectedException | ResourceShareInvitationArnNotFoundException | ResourceShareInvitationExpiredException | ServerInternalException | ServiceUnavailableException | CommonErrors;
/**
 * Accepts an invitation to a resource share from another Amazon Web Services account. After you accept the
 * invitation, the resources included in the resource share are available to interact with in the
 * relevant Amazon Web Services Management Consoles and tools.
 */
export declare const acceptResourceShareInvitation: API.OperationMethod<AcceptResourceShareInvitationRequest, AcceptResourceShareInvitationResponse, AcceptResourceShareInvitationError, Credentials | Region | HttpClient.HttpClient>;
export type AssociateResourceShareError = IdempotentParameterMismatchException | InvalidClientTokenException | InvalidParameterException | InvalidStateTransitionException | MalformedArnException | OperationNotPermittedException | ResourceShareLimitExceededException | ServerInternalException | ServiceUnavailableException | ThrottlingException | UnknownResourceException | CommonErrors;
/**
 * Adds the specified list of principals, resources, and source constraints to a resource share. Principals that
 * already have access to this resource share immediately receive access to the added resources.
 * Newly added principals immediately receive access to the resources shared in this resource share.
 */
export declare const associateResourceShare: API.OperationMethod<AssociateResourceShareRequest, AssociateResourceShareResponse, AssociateResourceShareError, Credentials | Region | HttpClient.HttpClient>;
export type AssociateResourceSharePermissionError = InvalidClientTokenException | InvalidParameterException | MalformedArnException | OperationNotPermittedException | ServerInternalException | ServiceUnavailableException | UnknownResourceException | CommonErrors;
/**
 * Adds or replaces the RAM permission for a resource type included in a resource share. You can
 * have exactly one permission associated with each resource type in the resource share. You can add
 * a new RAM permission only if there are currently no resources of that resource type
 * currently in the resource share.
 */
export declare const associateResourceSharePermission: API.OperationMethod<AssociateResourceSharePermissionRequest, AssociateResourceSharePermissionResponse, AssociateResourceSharePermissionError, Credentials | Region | HttpClient.HttpClient>;
export type CreatePermissionError = IdempotentParameterMismatchException | InvalidClientTokenException | InvalidParameterException | InvalidPolicyException | MalformedPolicyTemplateException | OperationNotPermittedException | PermissionAlreadyExistsException | PermissionLimitExceededException | ServerInternalException | ServiceUnavailableException | CommonErrors;
/**
 * Creates a customer managed permission for a specified resource type that you can attach to resource shares.
 * It is created in the Amazon Web Services Region in which you call the operation.
 */
export declare const createPermission: API.OperationMethod<CreatePermissionRequest, CreatePermissionResponse, CreatePermissionError, Credentials | Region | HttpClient.HttpClient>;
export type CreatePermissionVersionError = IdempotentParameterMismatchException | InvalidClientTokenException | InvalidParameterException | InvalidPolicyException | MalformedArnException | MalformedPolicyTemplateException | PermissionVersionsLimitExceededException | ServerInternalException | ServiceUnavailableException | UnknownResourceException | CommonErrors;
/**
 * Creates a new version of the specified customer managed permission. The new version is automatically set as
 * the default version of the customer managed permission. New resource shares automatically use the default
 * permission. Existing resource shares continue to use their original permission versions,
 * but you can use ReplacePermissionAssociations to update them.
 *
 * If the specified customer managed permission already has the maximum of 5 versions, then
 * you must delete one of the existing versions before you can create a new one.
 */
export declare const createPermissionVersion: API.OperationMethod<CreatePermissionVersionRequest, CreatePermissionVersionResponse, CreatePermissionVersionError, Credentials | Region | HttpClient.HttpClient>;
export type CreateResourceShareError = IdempotentParameterMismatchException | InvalidClientTokenException | InvalidParameterException | InvalidStateTransitionException | MalformedArnException | OperationNotPermittedException | ResourceShareLimitExceededException | ServerInternalException | ServiceUnavailableException | TagLimitExceededException | TagPolicyViolationException | ThrottlingException | UnknownResourceException | CommonErrors;
/**
 * Creates a resource share. You can provide a list of the Amazon Resource Names (ARNs) for the resources that you
 * want to share, a list of principals you want to share the resources with, the
 * permissions to grant those principals, and optionally source constraints to enhance security for service principal sharing.
 *
 * Sharing a resource makes it available for use by principals outside of the
 * Amazon Web Services account that created the resource. Sharing doesn't change any permissions or
 * quotas that apply to the resource in the account that created it.
 */
export declare const createResourceShare: API.OperationMethod<CreateResourceShareRequest, CreateResourceShareResponse, CreateResourceShareError, Credentials | Region | HttpClient.HttpClient>;
export type DeletePermissionError = IdempotentParameterMismatchException | InvalidClientTokenException | MalformedArnException | OperationNotPermittedException | ServerInternalException | ServiceUnavailableException | UnknownResourceException | CommonErrors;
/**
 * Deletes the specified customer managed permission in the Amazon Web Services Region in which you call this operation. You
 * can delete a customer managed permission only if it isn't attached to any resource share. The operation deletes all
 * versions associated with the customer managed permission.
 */
export declare const deletePermission: API.OperationMethod<DeletePermissionRequest, DeletePermissionResponse, DeletePermissionError, Credentials | Region | HttpClient.HttpClient>;
export type DeletePermissionVersionError = IdempotentParameterMismatchException | InvalidClientTokenException | InvalidParameterException | MalformedArnException | OperationNotPermittedException | ServerInternalException | ServiceUnavailableException | UnknownResourceException | CommonErrors;
/**
 * Deletes one version of a customer managed permission. The version you specify must not be attached to any
 * resource share and must not be the default version for the permission.
 *
 * If a customer managed permission has the maximum of 5 versions, then you must delete at
 * least one version before you can create another.
 */
export declare const deletePermissionVersion: API.OperationMethod<DeletePermissionVersionRequest, DeletePermissionVersionResponse, DeletePermissionVersionError, Credentials | Region | HttpClient.HttpClient>;
export type DeleteResourceShareError = IdempotentParameterMismatchException | InvalidClientTokenException | InvalidParameterException | InvalidStateTransitionException | MalformedArnException | OperationNotPermittedException | ServerInternalException | ServiceUnavailableException | ThrottlingException | UnknownResourceException | CommonErrors;
/**
 * Deletes the specified resource share.
 *
 * This doesn't delete any of the resources that were associated with the resource share; it
 * only stops the sharing of those resources through this resource share.
 */
export declare const deleteResourceShare: API.OperationMethod<DeleteResourceShareRequest, DeleteResourceShareResponse, DeleteResourceShareError, Credentials | Region | HttpClient.HttpClient>;
export type DisassociateResourceShareError = IdempotentParameterMismatchException | InvalidClientTokenException | InvalidParameterException | InvalidStateTransitionException | MalformedArnException | OperationNotPermittedException | ResourceShareLimitExceededException | ServerInternalException | ServiceUnavailableException | ThrottlingException | UnknownResourceException | CommonErrors;
/**
 * Removes the specified principals, resources, or source constraints from participating in the specified
 * resource share.
 */
export declare const disassociateResourceShare: API.OperationMethod<DisassociateResourceShareRequest, DisassociateResourceShareResponse, DisassociateResourceShareError, Credentials | Region | HttpClient.HttpClient>;
export type DisassociateResourceSharePermissionError = InvalidClientTokenException | InvalidParameterException | InvalidStateTransitionException | MalformedArnException | OperationNotPermittedException | ServerInternalException | ServiceUnavailableException | UnknownResourceException | CommonErrors;
/**
 * Removes a managed permission from a resource share. Permission changes take effect immediately. You can
 * remove a managed permission from a resource share only if there are currently no resources of the relevant
 * resource type currently attached to the resource share.
 */
export declare const disassociateResourceSharePermission: API.OperationMethod<DisassociateResourceSharePermissionRequest, DisassociateResourceSharePermissionResponse, DisassociateResourceSharePermissionError, Credentials | Region | HttpClient.HttpClient>;
export type EnableSharingWithAwsOrganizationError = OperationNotPermittedException | ServerInternalException | ServiceUnavailableException | CommonErrors;
/**
 * Enables resource sharing within your organization in Organizations. This operation creates
 * a service-linked role called `AWSServiceRoleForResourceAccessManager` that has the IAM managed policy
 * named AWSResourceAccessManagerServiceRolePolicy attached. This role permits RAM to retrieve information about
 * the organization and its structure. This lets you share resources with all of the
 * accounts in the calling account's organization by specifying the organization ID, or all
 * of the accounts in an organizational unit (OU) by specifying the OU ID. Until you enable
 * sharing within the organization, you can specify only individual Amazon Web Services accounts, or for
 * supported resource types, IAM roles and users.
 *
 * You must call this operation from an IAM role or user in the organization's
 * management account.
 */
export declare const enableSharingWithAwsOrganization: API.OperationMethod<EnableSharingWithAwsOrganizationRequest, EnableSharingWithAwsOrganizationResponse, EnableSharingWithAwsOrganizationError, Credentials | Region | HttpClient.HttpClient>;
export type GetPermissionError = InvalidParameterException | MalformedArnException | OperationNotPermittedException | ServerInternalException | ServiceUnavailableException | UnknownResourceException | CommonErrors;
/**
 * Retrieves the contents of a managed permission in JSON format.
 */
export declare const getPermission: API.OperationMethod<GetPermissionRequest, GetPermissionResponse, GetPermissionError, Credentials | Region | HttpClient.HttpClient>;
export type GetResourcePoliciesError = InvalidNextTokenException | InvalidParameterException | MalformedArnException | ResourceArnNotFoundException | ServerInternalException | ServiceUnavailableException | CommonErrors;
/**
 * Retrieves the resource policies for the specified resources that you own and have
 * shared.
 *
 * Always check the `NextToken` response parameter for a `null` value
 * when calling a paginated operation. These operations can occasionally return an empty set of results even when there are more
 * results available. The `NextToken` response parameter value is `null`
 * *only*
 * when there are no more results to display.
 */
export declare const getResourcePolicies: API.OperationMethod<GetResourcePoliciesRequest, GetResourcePoliciesResponse, GetResourcePoliciesError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: GetResourcePoliciesRequest) => stream.Stream<GetResourcePoliciesResponse, GetResourcePoliciesError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: GetResourcePoliciesRequest) => stream.Stream<unknown, GetResourcePoliciesError, Credentials | Region | HttpClient.HttpClient>;
};
export type GetResourceShareAssociationsError = InvalidNextTokenException | InvalidParameterException | MalformedArnException | OperationNotPermittedException | ServerInternalException | ServiceUnavailableException | UnknownResourceException | CommonErrors;
/**
 * Retrieves the lists of resources and principals that associated for resource shares that you
 * own.
 *
 * Always check the `NextToken` response parameter for a `null` value
 * when calling a paginated operation. These operations can occasionally return an empty set of results even when there are more
 * results available. The `NextToken` response parameter value is `null`
 * *only*
 * when there are no more results to display.
 */
export declare const getResourceShareAssociations: API.OperationMethod<GetResourceShareAssociationsRequest, GetResourceShareAssociationsResponse, GetResourceShareAssociationsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: GetResourceShareAssociationsRequest) => stream.Stream<GetResourceShareAssociationsResponse, GetResourceShareAssociationsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: GetResourceShareAssociationsRequest) => stream.Stream<unknown, GetResourceShareAssociationsError, Credentials | Region | HttpClient.HttpClient>;
};
export type GetResourceShareInvitationsError = InvalidMaxResultsException | InvalidNextTokenException | InvalidParameterException | MalformedArnException | ResourceShareInvitationArnNotFoundException | ServerInternalException | ServiceUnavailableException | UnknownResourceException | CommonErrors;
/**
 * Retrieves details about invitations that you have received for resource shares.
 *
 * Always check the `NextToken` response parameter for a `null` value
 * when calling a paginated operation. These operations can occasionally return an empty set of results even when there are more
 * results available. The `NextToken` response parameter value is `null`
 * *only*
 * when there are no more results to display.
 */
export declare const getResourceShareInvitations: API.OperationMethod<GetResourceShareInvitationsRequest, GetResourceShareInvitationsResponse, GetResourceShareInvitationsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: GetResourceShareInvitationsRequest) => stream.Stream<GetResourceShareInvitationsResponse, GetResourceShareInvitationsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: GetResourceShareInvitationsRequest) => stream.Stream<unknown, GetResourceShareInvitationsError, Credentials | Region | HttpClient.HttpClient>;
};
export type GetResourceSharesError = InvalidNextTokenException | InvalidParameterException | MalformedArnException | ServerInternalException | ServiceUnavailableException | UnknownResourceException | CommonErrors;
/**
 * Retrieves details about the resource shares that you own or that are shared with you.
 *
 * Always check the `NextToken` response parameter for a `null` value
 * when calling a paginated operation. These operations can occasionally return an empty set of results even when there are more
 * results available. The `NextToken` response parameter value is `null`
 * *only*
 * when there are no more results to display.
 */
export declare const getResourceShares: API.OperationMethod<GetResourceSharesRequest, GetResourceSharesResponse, GetResourceSharesError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: GetResourceSharesRequest) => stream.Stream<GetResourceSharesResponse, GetResourceSharesError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: GetResourceSharesRequest) => stream.Stream<unknown, GetResourceSharesError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListPendingInvitationResourcesError = InvalidNextTokenException | InvalidParameterException | MalformedArnException | MissingRequiredParameterException | ResourceShareInvitationAlreadyRejectedException | ResourceShareInvitationArnNotFoundException | ResourceShareInvitationExpiredException | ServerInternalException | ServiceUnavailableException | CommonErrors;
/**
 * Lists the resources in a resource share that is shared with you but for which the invitation is
 * still `PENDING`. That means that you haven't accepted or rejected the
 * invitation and the invitation hasn't expired.
 *
 * Always check the `NextToken` response parameter for a `null` value
 * when calling a paginated operation. These operations can occasionally return an empty set of results even when there are more
 * results available. The `NextToken` response parameter value is `null`
 * *only*
 * when there are no more results to display.
 */
export declare const listPendingInvitationResources: API.OperationMethod<ListPendingInvitationResourcesRequest, ListPendingInvitationResourcesResponse, ListPendingInvitationResourcesError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListPendingInvitationResourcesRequest) => stream.Stream<ListPendingInvitationResourcesResponse, ListPendingInvitationResourcesError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListPendingInvitationResourcesRequest) => stream.Stream<unknown, ListPendingInvitationResourcesError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListPermissionAssociationsError = InvalidNextTokenException | InvalidParameterException | MalformedArnException | ServerInternalException | ServiceUnavailableException | CommonErrors;
/**
 * Lists information about the managed permission and its associations to any resource shares that use
 * this managed permission. This lets you see which resource shares use which versions of the specified
 * managed permission.
 *
 * Always check the `NextToken` response parameter for a `null` value
 * when calling a paginated operation. These operations can occasionally return an empty set of results even when there are more
 * results available. The `NextToken` response parameter value is `null`
 * *only*
 * when there are no more results to display.
 */
export declare const listPermissionAssociations: API.OperationMethod<ListPermissionAssociationsRequest, ListPermissionAssociationsResponse, ListPermissionAssociationsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListPermissionAssociationsRequest) => stream.Stream<ListPermissionAssociationsResponse, ListPermissionAssociationsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListPermissionAssociationsRequest) => stream.Stream<unknown, ListPermissionAssociationsError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListPermissionsError = InvalidNextTokenException | InvalidParameterException | OperationNotPermittedException | ServerInternalException | ServiceUnavailableException | CommonErrors;
/**
 * Retrieves a list of available RAM permissions that you can use for the supported
 * resource types.
 *
 * Always check the `NextToken` response parameter for a `null` value
 * when calling a paginated operation. These operations can occasionally return an empty set of results even when there are more
 * results available. The `NextToken` response parameter value is `null`
 * *only*
 * when there are no more results to display.
 */
export declare const listPermissions: API.OperationMethod<ListPermissionsRequest, ListPermissionsResponse, ListPermissionsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListPermissionsRequest) => stream.Stream<ListPermissionsResponse, ListPermissionsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListPermissionsRequest) => stream.Stream<unknown, ListPermissionsError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListPermissionVersionsError = InvalidNextTokenException | InvalidParameterException | MalformedArnException | OperationNotPermittedException | ServerInternalException | ServiceUnavailableException | UnknownResourceException | CommonErrors;
/**
 * Lists the available versions of the specified RAM permission.
 *
 * Always check the `NextToken` response parameter for a `null` value
 * when calling a paginated operation. These operations can occasionally return an empty set of results even when there are more
 * results available. The `NextToken` response parameter value is `null`
 * *only*
 * when there are no more results to display.
 */
export declare const listPermissionVersions: API.OperationMethod<ListPermissionVersionsRequest, ListPermissionVersionsResponse, ListPermissionVersionsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListPermissionVersionsRequest) => stream.Stream<ListPermissionVersionsResponse, ListPermissionVersionsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListPermissionVersionsRequest) => stream.Stream<unknown, ListPermissionVersionsError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListPrincipalsError = InvalidNextTokenException | InvalidParameterException | MalformedArnException | ServerInternalException | ServiceUnavailableException | UnknownResourceException | CommonErrors;
/**
 * Lists the principals that you are sharing resources with or that are sharing resources
 * with you.
 *
 * Always check the `NextToken` response parameter for a `null` value
 * when calling a paginated operation. These operations can occasionally return an empty set of results even when there are more
 * results available. The `NextToken` response parameter value is `null`
 * *only*
 * when there are no more results to display.
 */
export declare const listPrincipals: API.OperationMethod<ListPrincipalsRequest, ListPrincipalsResponse, ListPrincipalsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListPrincipalsRequest) => stream.Stream<ListPrincipalsResponse, ListPrincipalsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListPrincipalsRequest) => stream.Stream<unknown, ListPrincipalsError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListReplacePermissionAssociationsWorkError = InvalidNextTokenException | InvalidParameterException | ServerInternalException | ServiceUnavailableException | CommonErrors;
/**
 * Retrieves the current status of the asynchronous tasks performed by RAM when you
 * perform the ReplacePermissionAssociationsWork operation.
 *
 * Always check the `NextToken` response parameter for a `null` value
 * when calling a paginated operation. These operations can occasionally return an empty set of results even when there are more
 * results available. The `NextToken` response parameter value is `null`
 * *only*
 * when there are no more results to display.
 */
export declare const listReplacePermissionAssociationsWork: API.OperationMethod<ListReplacePermissionAssociationsWorkRequest, ListReplacePermissionAssociationsWorkResponse, ListReplacePermissionAssociationsWorkError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListReplacePermissionAssociationsWorkRequest) => stream.Stream<ListReplacePermissionAssociationsWorkResponse, ListReplacePermissionAssociationsWorkError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListReplacePermissionAssociationsWorkRequest) => stream.Stream<unknown, ListReplacePermissionAssociationsWorkError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListResourcesError = InvalidNextTokenException | InvalidParameterException | InvalidResourceTypeException | MalformedArnException | ServerInternalException | ServiceUnavailableException | UnknownResourceException | CommonErrors;
/**
 * Lists the resources that you added to a resource share or the resources that are shared with
 * you.
 *
 * Always check the `NextToken` response parameter for a `null` value
 * when calling a paginated operation. These operations can occasionally return an empty set of results even when there are more
 * results available. The `NextToken` response parameter value is `null`
 * *only*
 * when there are no more results to display.
 */
export declare const listResources: API.OperationMethod<ListResourcesRequest, ListResourcesResponse, ListResourcesError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListResourcesRequest) => stream.Stream<ListResourcesResponse, ListResourcesError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListResourcesRequest) => stream.Stream<unknown, ListResourcesError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListResourceSharePermissionsError = InvalidNextTokenException | InvalidParameterException | MalformedArnException | OperationNotPermittedException | ServerInternalException | ServiceUnavailableException | UnknownResourceException | CommonErrors;
/**
 * Lists the RAM permissions that are associated with a resource share.
 *
 * Always check the `NextToken` response parameter for a `null` value
 * when calling a paginated operation. These operations can occasionally return an empty set of results even when there are more
 * results available. The `NextToken` response parameter value is `null`
 * *only*
 * when there are no more results to display.
 */
export declare const listResourceSharePermissions: API.OperationMethod<ListResourceSharePermissionsRequest, ListResourceSharePermissionsResponse, ListResourceSharePermissionsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListResourceSharePermissionsRequest) => stream.Stream<ListResourceSharePermissionsResponse, ListResourceSharePermissionsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListResourceSharePermissionsRequest) => stream.Stream<unknown, ListResourceSharePermissionsError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListResourceTypesError = InvalidNextTokenException | InvalidParameterException | ServerInternalException | ServiceUnavailableException | CommonErrors;
/**
 * Lists the resource types that can be shared by RAM.
 */
export declare const listResourceTypes: API.OperationMethod<ListResourceTypesRequest, ListResourceTypesResponse, ListResourceTypesError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListResourceTypesRequest) => stream.Stream<ListResourceTypesResponse, ListResourceTypesError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListResourceTypesRequest) => stream.Stream<unknown, ListResourceTypesError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListSourceAssociationsError = InvalidNextTokenException | InvalidParameterException | MalformedArnException | ServerInternalException | ServiceUnavailableException | UnknownResourceException | CommonErrors;
/**
 * Lists source associations for resource shares. Source associations control which sources can be used with service principals in resource shares. This operation provides visibility into source associations for resource share owners.
 *
 * You can filter the results by resource share Amazon Resource Name (ARN), source ID, source type, or association status. We recommend using pagination to ensure that the operation returns quickly and successfully.
 */
export declare const listSourceAssociations: API.OperationMethod<ListSourceAssociationsRequest, ListSourceAssociationsResponse, ListSourceAssociationsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListSourceAssociationsRequest) => stream.Stream<ListSourceAssociationsResponse, ListSourceAssociationsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListSourceAssociationsRequest) => stream.Stream<AssociatedSource, ListSourceAssociationsError, Credentials | Region | HttpClient.HttpClient>;
};
export type PromotePermissionCreatedFromPolicyError = InvalidParameterException | InvalidPolicyException | MalformedArnException | MissingRequiredParameterException | OperationNotPermittedException | ServerInternalException | ServiceUnavailableException | UnknownResourceException | CommonErrors;
/**
 * When you attach a resource-based policy to a resource, RAM automatically creates
 * a resource share of `featureSet`=`CREATED_FROM_POLICY` with a managed permission that
 * has the same IAM permissions as the original resource-based policy. However, this type
 * of managed permission is visible to only the resource share owner, and the associated resource share can't be modified by
 * using RAM.
 *
 * This operation creates a separate, fully manageable customer managed permission that has the same IAM
 * permissions as the original resource-based policy. You can associate this customer managed permission to any
 * resource shares.
 *
 * Before you use PromoteResourceShareCreatedFromPolicy, you should
 * first run this operation to ensure that you have an appropriate customer managed permission that can be
 * associated with the promoted resource share.
 *
 * - The original `CREATED_FROM_POLICY` policy isn't deleted, and
 * resource shares using that original policy aren't automatically
 * updated.
 *
 * - You can't modify a `CREATED_FROM_POLICY` resource share so you can't
 * associate the new customer managed permission by using
 * `ReplacePermsissionAssociations`. However, if you use PromoteResourceShareCreatedFromPolicy, that operation
 * automatically associates the fully manageable customer managed permission to the newly promoted
 * `STANDARD` resource share.
 *
 * - After you promote a resource share, if the original `CREATED_FROM_POLICY`
 * managed permission has no other associations to A resource share, then RAM automatically deletes
 * it.
 */
export declare const promotePermissionCreatedFromPolicy: API.OperationMethod<PromotePermissionCreatedFromPolicyRequest, PromotePermissionCreatedFromPolicyResponse, PromotePermissionCreatedFromPolicyError, Credentials | Region | HttpClient.HttpClient>;
export type PromoteResourceShareCreatedFromPolicyError = InvalidParameterException | InvalidStateTransitionException | MalformedArnException | MissingRequiredParameterException | OperationNotPermittedException | ResourceShareLimitExceededException | ServerInternalException | ServiceUnavailableException | UnknownResourceException | UnmatchedPolicyPermissionException | CommonErrors;
/**
 * When you attach a resource-based policy to a resource, RAM automatically creates
 * a resource share of `featureSet`=`CREATED_FROM_POLICY` with a managed permission that
 * has the same IAM permissions as the original resource-based policy. However, this type
 * of managed permission is visible to only the resource share owner, and the associated resource share can't be modified by
 * using RAM.
 *
 * This operation promotes the resource share to a `STANDARD` resource share that is fully
 * manageable in RAM. When you promote a resource share, you can then manage the resource share in RAM and
 * it becomes visible to all of the principals you shared it with.
 *
 * Before you perform this operation, you should first run PromotePermissionCreatedFromPolicyto ensure that you have an
 * appropriate customer managed permission that can be associated with this resource share after its is promoted. If
 * this operation can't find a managed permission that exactly matches the existing
 * `CREATED_FROM_POLICY` permission, then this operation fails.
 */
export declare const promoteResourceShareCreatedFromPolicy: API.OperationMethod<PromoteResourceShareCreatedFromPolicyRequest, PromoteResourceShareCreatedFromPolicyResponse, PromoteResourceShareCreatedFromPolicyError, Credentials | Region | HttpClient.HttpClient>;
export type RejectResourceShareInvitationError = IdempotentParameterMismatchException | InvalidClientTokenException | MalformedArnException | OperationNotPermittedException | ResourceShareInvitationAlreadyAcceptedException | ResourceShareInvitationAlreadyRejectedException | ResourceShareInvitationArnNotFoundException | ResourceShareInvitationExpiredException | ServerInternalException | ServiceUnavailableException | CommonErrors;
/**
 * Rejects an invitation to a resource share from another Amazon Web Services account.
 */
export declare const rejectResourceShareInvitation: API.OperationMethod<RejectResourceShareInvitationRequest, RejectResourceShareInvitationResponse, RejectResourceShareInvitationError, Credentials | Region | HttpClient.HttpClient>;
export type ReplacePermissionAssociationsError = IdempotentParameterMismatchException | InvalidClientTokenException | InvalidParameterException | MalformedArnException | OperationNotPermittedException | ServerInternalException | ServiceUnavailableException | UnknownResourceException | CommonErrors;
/**
 * Updates all resource shares that use a managed permission to a different managed
 * permission. This operation always applies the default version of the target managed
 * permission. You can optionally specify that the update applies to only resource shares that
 * currently use a specified version. This enables you to update to the latest version,
 * without changing the which managed permission is used.
 *
 * You can use this operation to update all of your resource shares to use the current
 * default version of the permission by specifying the same value for the
 * `fromPermissionArn` and `toPermissionArn` parameters.
 *
 * You can use the optional `fromPermissionVersion` parameter to update only
 * those resources that use a specified version of the managed permission to the new managed
 * permission.
 *
 * To successfully perform this operation, you must have permission to update the
 * resource-based policy on all affected resource types.
 */
export declare const replacePermissionAssociations: API.OperationMethod<ReplacePermissionAssociationsRequest, ReplacePermissionAssociationsResponse, ReplacePermissionAssociationsError, Credentials | Region | HttpClient.HttpClient>;
export type SetDefaultPermissionVersionError = IdempotentParameterMismatchException | InvalidClientTokenException | InvalidParameterException | MalformedArnException | ServerInternalException | ServiceUnavailableException | UnknownResourceException | CommonErrors;
/**
 * Designates the specified version number as the default version for the specified
 * customer managed permission. New resource shares automatically use this new default permission. Existing
 * resource shares continue to use their original permission version, but you can use ReplacePermissionAssociations to update them.
 */
export declare const setDefaultPermissionVersion: API.OperationMethod<SetDefaultPermissionVersionRequest, SetDefaultPermissionVersionResponse, SetDefaultPermissionVersionError, Credentials | Region | HttpClient.HttpClient>;
export type TagResourceError = InvalidParameterException | MalformedArnException | ResourceArnNotFoundException | ServerInternalException | ServiceUnavailableException | TagLimitExceededException | TagPolicyViolationException | UnknownResourceException | CommonErrors;
/**
 * Adds the specified tag keys and values to a resource share or managed permission. If you choose a resource share, the
 * tags are attached to only the resource share, not to the resources that are in the resource share.
 *
 * The tags on a managed permission are the same for all versions of the managed permission.
 */
export declare const tagResource: API.OperationMethod<TagResourceRequest, TagResourceResponse, TagResourceError, Credentials | Region | HttpClient.HttpClient>;
export type UntagResourceError = InvalidParameterException | MalformedArnException | ServerInternalException | ServiceUnavailableException | UnknownResourceException | CommonErrors;
/**
 * Removes the specified tag key and value pairs from the specified resource share or managed permission.
 */
export declare const untagResource: API.OperationMethod<UntagResourceRequest, UntagResourceResponse, UntagResourceError, Credentials | Region | HttpClient.HttpClient>;
export type UpdateResourceShareError = IdempotentParameterMismatchException | InvalidClientTokenException | InvalidParameterException | MalformedArnException | MissingRequiredParameterException | OperationNotPermittedException | ServerInternalException | ServiceUnavailableException | UnknownResourceException | CommonErrors;
/**
 * Modifies some of the properties of the specified resource share.
 */
export declare const updateResourceShare: API.OperationMethod<UpdateResourceShareRequest, UpdateResourceShareResponse, UpdateResourceShareError, Credentials | Region | HttpClient.HttpClient>;
export {};
//# sourceMappingURL=ram.d.ts.map