export interface SupportedEmailDomainsParameters {
    enabled?: 'ENABLED' | 'DISABLED';
    allowedDomains?: string[];
}
export interface BatchAddChannelRoleToAccessorsInput {
    /** The user or group identifiers to add the role to. */
    accessorIds: string[];
    /** The unique ID of the private re:Post channel. */
    channelId: string;
    /** The channel role to add to the users or groups. */
    channelRole: 'ASKER' | 'EXPERT' | 'MODERATOR' | 'SUPPORTREQUESTOR';
    /** The unique ID of the private re:Post. */
    spaceId: string;
}
export interface BatchAddRoleInput {
    /** The user or group accessor identifiers to add the role to. */
    accessorIds: string[];
    /** The role to add to the users or groups. */
    role: 'EXPERT' | 'MODERATOR' | 'ADMINISTRATOR' | 'SUPPORTREQUESTOR';
    /** The unique ID of the private re:Post. */
    spaceId: string;
}
export interface BatchRemoveChannelRoleFromAccessorsInput {
    /** The users or groups identifiers to remove the role from. */
    accessorIds: string[];
    /** The unique ID of the private re:Post channel. */
    channelId: string;
    /** The channel role to remove from the users or groups. */
    channelRole: 'ASKER' | 'EXPERT' | 'MODERATOR' | 'SUPPORTREQUESTOR';
    /** The unique ID of the private re:Post. */
    spaceId: string;
}
export interface BatchRemoveRoleInput {
    /** The user or group accessor identifiers to remove the role from. */
    accessorIds: string[];
    /** The role to remove from the users or groups. */
    role: 'EXPERT' | 'MODERATOR' | 'ADMINISTRATOR' | 'SUPPORTREQUESTOR';
    /** The unique ID of the private re:Post. */
    spaceId: string;
}
export interface CreateChannelInput {
    /** The name for the channel. This must be unique per private re:Post. */
    channelName: string;
    /** The unique ID of the private re:Post. */
    spaceId: string;
    /** A description for the channel. This is used only to help you identify this channel. */
    channelDescription?: string;
}
export interface CreateSpaceInput {
    /** The name for the private re:Post. This must be unique in your account. */
    name: string;
    /** The subdomain that you use to access your AWS re:Post Private private re:Post. All custom subdomains must be approved by AWS before use. In addition to your custom subdomain, all private re:Posts are  */
    subdomain: string;
    /** The pricing tier for the private re:Post. */
    tier: 'BASIC' | 'STANDARD';
    /** A description for the private re:Post. This is used only to help you identify this private re:Post. */
    description?: string;
    /** The IAM role that grants permissions to the private re:Post to convert unanswered questions into AWS support tickets. */
    roleArn?: string;
    supportedEmailDomains?: SupportedEmailDomainsParameters;
    /** The list of tags associated with the private re:Post. */
    tags?: Record<string, string>;
    /** The AWS KMS key ARN that’s used for the AWS KMS encryption. If you don't provide a key, your data is encrypted by default with a key that AWS owns and manages for you. */
    userKMSKey?: string;
}
export interface DeleteSpaceInput {
    /** The unique ID of the private re:Post. */
    spaceId: string;
}
export interface DeregisterAdminInput {
    /** The ID of the admin to remove. */
    adminId: string;
    /** The ID of the private re:Post to remove the admin from. */
    spaceId: string;
}
export interface GetChannelInput {
    /** The unique ID of the private re:Post channel. */
    channelId: string;
    /** The unique ID of the private re:Post. */
    spaceId: string;
}
export interface GetSpaceInput {
    /** The ID of the private re:Post. */
    spaceId: string;
}
export interface ListChannelsInput {
    /** The unique ID of the private re:Post. */
    spaceId: string;
    /** The maximum number of channels to include in the results. */
    maxResults?: number;
    /** The token for the next set of channel to return. You receive this token from a previous ListChannels operation. */
    nextToken?: string;
}
export interface ListSpacesInput {
    /** The maximum number of private re:Posts to include in the results. */
    maxResults?: number;
    /** The token for the next set of private re:Posts to return. You receive this token from a previous ListSpaces operation. */
    nextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The ARN of the resource that the tags are associated with. */
    resourceArn: string;
}
export interface RegisterAdminInput {
    /** The ID of the administrator. */
    adminId: string;
    /** The ID of the private re:Post. */
    spaceId: string;
}
export interface SendInvitesInput {
    /** The array of identifiers for the users and groups. */
    accessorIds: string[];
    /** The body of the invite. */
    body: string;
    /** The ID of the private re:Post. */
    spaceId: string;
    /** The title of the invite. */
    title: string;
}
export interface TagResourceInput {
    /** The ARN of the resource that the tag is associated with. */
    resourceArn: string;
    /** The list of tag keys and values that must be associated with the resource. You can associate tag keys only, tags (key and values) only, or a combination of tag keys and tags. */
    tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The ARN of the resource. */
    resourceArn: string;
    /** The key values of the tag. */
    tagKeys: string[];
}
export interface UpdateChannelInput {
    /** The unique ID of the private re:Post channel. */
    channelId: string;
    /** The name for the channel. This must be unique per private re:Post. */
    channelName: string;
    /** The unique ID of the private re:Post. */
    spaceId: string;
    /** A description for the channel. This is used only to help you identify this channel. */
    channelDescription?: string;
}
export interface UpdateSpaceInput {
    /** The unique ID of this private re:Post. */
    spaceId: string;
    /** A description for the private re:Post. This is used only to help you identify this private re:Post. */
    description?: string;
    /** The IAM role that grants permissions to the private re:Post to convert unanswered questions into AWS support tickets. */
    roleArn?: string;
    supportedEmailDomains?: SupportedEmailDomainsParameters;
    /** The pricing tier of this private re:Post. */
    tier?: 'BASIC' | 'STANDARD';
}
/** repostspace service binding for Step Functions SDK integrations. */
export declare class repostspace {
    constructor();
    batchAddChannelRoleToAccessors<T>(params: BatchAddChannelRoleToAccessorsInput): Promise<T>;
    batchAddRole<T>(params: BatchAddRoleInput): Promise<T>;
    batchRemoveChannelRoleFromAccessors<T>(params: BatchRemoveChannelRoleFromAccessorsInput): Promise<T>;
    batchRemoveRole<T>(params: BatchRemoveRoleInput): Promise<T>;
    createChannel<T>(params: CreateChannelInput): Promise<T>;
    createSpace<T>(params: CreateSpaceInput): Promise<T>;
    deleteSpace<T>(params: DeleteSpaceInput): Promise<T>;
    deregisterAdmin<T>(params: DeregisterAdminInput): Promise<T>;
    getChannel<T>(params: GetChannelInput): Promise<T>;
    getSpace<T>(params: GetSpaceInput): Promise<T>;
    listChannels<T>(params: ListChannelsInput): Promise<T>;
    listSpaces<T>(params: ListSpacesInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    registerAdmin<T>(params: RegisterAdminInput): Promise<T>;
    sendInvites<T>(params: SendInvitesInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateChannel<T>(params: UpdateChannelInput): Promise<T>;
    updateSpace<T>(params: UpdateSpaceInput): Promise<T>;
}
//# sourceMappingURL=repostspace.d.ts.map