export interface BatchCreateUserRequestItem {
    /** The first name of the user. */
    firstName?: string;
    /** The last name of the user. */
    lastName?: string;
    /** A list of security group IDs to which the user should be assigned. */
    securityGroupIds: any[];
    /** The email address or username for the user. Must be unique within the network. */
    username: string;
    /** A custom invite code for the user. If not provided, one will be generated automatically. */
    inviteCode?: string;
    /** The time-to-live for the invite code in days. After this period, the invite code will expire. */
    inviteCodeTtl?: number;
    /** Indicates whether the user can be verified through a custom invite code. */
    codeValidation?: boolean;
}
export interface SecurityGroupSettingsRequest {
    /** The number of failed password attempts before a user account is locked out. */
    lockoutThreshold?: number;
    /** A list of network IDs that are permitted for local federation when federation mode is set to restricted. */
    permittedNetworks?: string[];
    /** Guest users let you work with people outside your organization that only have limited access to Wickr. Only valid when federationMode is set to Global. */
    enableGuestFederation?: boolean;
    /** Allow users to securely federate with all Amazon Web Services Wickr networks and Amazon Web Services Enterprise networks. */
    globalFederation?: boolean;
    /** The local federation mode. Values: 0 (none), 1 (federated - all networks), 2 (restricted - only permitted networks). */
    federationMode?: number;
    /** Enables restricted global federation to limit communication to specific permitted networks only. Requires globalFederation to be enabled. */
    enableRestrictedGlobalFederation?: boolean;
    /** A list of permitted Amazon Web Services Wickr networks for restricted global federation. */
    permittedWickrAwsNetworks?: any[];
    /** A list of permitted Wickr Enterprise networks for restricted global federation. */
    permittedWickrEnterpriseNetworks?: any[];
}
export interface ReadReceiptConfig {
    /** The read receipt status mode for the network. */
    status?: 'DISABLED' | 'ENABLED' | 'FORCE_ENABLED';
}
export interface NetworkSettings {
    /** Allows Wickr clients to send anonymized performance and usage metrics to the Wickr backend server for service improvement and troubleshooting. */
    enableClientMetrics?: boolean;
    /** Configuration for read receipts at the network level, controlling the default behavior for whether senders can see when their messages have been read. */
    readReceiptConfig?: ReadReceiptConfig;
    /** Indicates whether the data retention feature is enabled for the network. When true, messages are captured by the data retention bot for compliance and archiving purposes. */
    dataRetention?: boolean;
    /** Configuration for OpenTDF integration at the network level, enforcing ABAC decision making when operating in TDF enabled rooms. */
    enableTrustedDataFormat?: boolean;
}
export interface CallingSettings {
    /** Specifies whether users can start one-to-one calls. */
    canStart11Call?: boolean;
    /** Specifies whether users can make video calls (as opposed to audio-only calls). Valid only when audio call(canStart11Call) is enabled. */
    canVideoCall?: boolean;
    /** When enabled, forces all calls to use TCP protocol instead of UDP for network traversal. */
    forceTcpCall?: boolean;
}
export interface PasswordRequirements {
    /** The minimum number of lowercase letters required in passwords. */
    lowercase?: number;
    /** The minimum password length in characters. */
    minLength?: number;
    /** The minimum number of numeric characters required in passwords. */
    numbers?: number;
    /** The minimum number of special symbol characters required in passwords. */
    symbols?: number;
    /** The minimum number of uppercase letters required in passwords. */
    uppercase?: number;
}
export interface ShredderSettings {
    /** Specifies whether users can manually trigger the shredder to delete content. */
    canProcessManually?: boolean;
    /** Prevents Wickr data from being recovered by overwriting deleted Wickr data. Valid Values: Must be one of [0, 20, 60, 100] */
    intensity?: number;
}
export interface SecurityGroupSettings {
    /** Requires users to reauthenticate every time they return to the application, providing an additional layer of security. */
    alwaysReauthenticate?: boolean;
    /** Configuration values for ATAK (Android Team Awareness Kit) package integration, when ATAK is enabled. */
    atakPackageValues?: string[];
    /** The calling feature permissions and settings that control what types of calls users can initiate and participate in. */
    calling?: CallingSettings;
    /** Enables automatic checking for Wickr client updates to ensure users stay current with the latest version. */
    checkForUpdates?: boolean;
    /** Enables ATAK (Android Team Awareness Kit) integration for tactical communication and situational awareness. */
    enableAtak?: boolean;
    /** Allow users to report crashes. */
    enableCrashReports?: boolean;
    /** Specifies whether users can download files from messages to their devices. */
    enableFileDownload?: boolean;
    /** Allows users to communicate with guest users from other Wickr networks and federated external networks. */
    enableGuestFederation?: boolean;
    /** Enables message preview text in push notifications, allowing users to see message content before opening the app. */
    enableNotificationPreview?: boolean;
    /** Allow users to avoid censorship when they are geo-blocked or have network limitations. */
    enableOpenAccessOption?: boolean;
    /** Enables restricted global federation, limiting external communication to only specified permitted networks. */
    enableRestrictedGlobalFederation?: boolean;
    /** Enables file sharing capabilities, allowing users to send and receive files in conversations. */
    filesEnabled?: boolean;
    /** Defines the number of failed login attempts before data stored on the device is reset. Should be less than lockoutThreshold. */
    forceDeviceLockout?: number;
    /** Automatically enable and enforce Wickr open access on all devices. Valid only if enableOpenAccessOption settings is enabled. */
    forceOpenAccess?: boolean;
    /** Allow user approved bots to read messages in rooms without using a slash command. */
    forceReadReceipts?: boolean;
    /** Allows users to communicate with users on other Wickr instances (Wickr Enterprise) outside the current network. */
    globalFederation?: boolean;
    /** Enforces a two-factor authentication when a user adds a new device to their account. */
    isAtoEnabled?: boolean;
    /** Enables automatic preview of links shared in messages, showing webpage thumbnails and descriptions. */
    isLinkPreviewEnabled?: boolean;
    /** Allows map integration in location sharing, enabling users to view shared locations on interactive maps. Only allowed when location setting is enabled. */
    locationAllowMaps?: boolean;
    /** Enables location sharing features, allowing users to share their current location with others. */
    locationEnabled?: boolean;
    /** The maximum file size in bytes that will be automatically downloaded without user confirmation. Only allowed if fileDownload is enabled. Valid Values [512000 (low_quality), 7340032 (high_quality) ] */
    maxAutoDownloadSize?: number;
    /** The maximum burn-on-read (BOR) time in seconds, which determines how long messages remain visible before auto-deletion after being read. */
    maxBor?: number;
    /** The maximum time-to-live (TTL) in seconds for messages, after which they will be automatically deleted from all devices. */
    maxTtl?: number;
    /** Enables message forwarding, allowing users to forward messages from one conversation to another. */
    messageForwardingEnabled?: boolean;
    /** The password complexity requirements that users must follow when creating or changing passwords. */
    passwordRequirements?: PasswordRequirements;
    /** Enables presence indicators that show whether users are online, away, or offline. */
    presenceEnabled?: boolean;
    /** A list of pre-defined quick response message templates that users can send with a single tap. */
    quickResponses?: string[];
    /** Users will get a master recovery key that can be used to securely sign in to their Wickr account without having access to their primary device for authentication. Available in SSO enabled network. */
    showMasterRecoveryKey?: boolean;
    /** The message shredder configuration that controls secure deletion of messages and files from devices. */
    shredder?: ShredderSettings;
    /** The duration for which users SSO session remains inactive before automatically logging them out for security. Available in SSO enabled network. */
    ssoMaxIdleMinutes?: number;
    /** The local federation mode controlling how users can communicate with other networks. Values: 0 (none), 1 (federated), 2 (restricted). */
    federationMode?: number;
    /** The number of failed password attempts before a user account is locked out. */
    lockoutThreshold?: number;
    /** A list of network IDs that are permitted for local federation when federation mode is set to restricted. */
    permittedNetworks?: string[];
    /** A list of permitted Wickr networks for global federation, restricting communication to specific approved networks. */
    permittedWickrAwsNetworks?: any[];
    /** A list of permitted Wickr Enterprise networks for global federation, restricting communication to specific approved networks. */
    permittedWickrEnterpriseNetworks?: any[];
}
export interface UpdateUserDetails {
    /** The new first name for the user. */
    firstName?: string;
    /** The new last name for the user. */
    lastName?: string;
    /** The new username or email address for the user. */
    username?: string;
    /** The updated list of security group IDs to which the user should belong. */
    securityGroupIds?: string[];
    /** A new custom invite code for the user. */
    inviteCode?: string;
    /** The new time-to-live for the invite code in days. */
    inviteCodeTtl?: number;
    /** Indicates whether the user can be verified through a custom invite code. */
    codeValidation?: boolean;
}
export interface BatchCreateUserInput {
    /** The ID of the Wickr network where users will be created. */
    networkId: string;
    /** A list of user objects containing the details for each user to be created, including username, name, security groups, and optional invite codes. Maximum 50 users per batch request. */
    users: BatchCreateUserRequestItem[];
    /** A unique identifier for this request to ensure idempotency. If you retry a request with the same client token, the service will return the same response without creating duplicate users. */
    clientToken?: string;
}
export interface BatchDeleteUserInput {
    /** The ID of the Wickr network from which users will be deleted. */
    networkId: string;
    /** A list of user IDs identifying the users to be deleted from the network. Maximum 50 users per batch request. */
    userIds: string[];
    /** A unique identifier for this request to ensure idempotency. If you retry a request with the same client token, the service will return the same response without attempting to delete users again. */
    clientToken?: string;
}
export interface BatchLookupUserUnameInput {
    /** The ID of the Wickr network where the users will be looked up. */
    networkId: string;
    /** A list of username hashes (unames) to look up. Each uname is a unique identifier for a user's username. Maximum 50 unames per batch request. */
    unames: string[];
    /** A unique identifier for this request to ensure idempotency. */
    clientToken?: string;
}
export interface BatchReinviteUserInput {
    /** The ID of the Wickr network where users will be reinvited. */
    networkId: string;
    /** A list of user IDs identifying the users to be reinvited to the network. Maximum 50 users per batch request. */
    userIds: string[];
    /** A unique identifier for this request to ensure idempotency. */
    clientToken?: string;
}
export interface BatchResetDevicesForUserInput {
    /** A list of application IDs identifying the specific devices to be reset for the user. Maximum 50 devices per batch request. */
    appIds: string[];
    /** The ID of the Wickr network containing the user whose devices will be reset. */
    networkId: string;
    /** The ID of the user whose devices will be reset. */
    userId: string;
    /** A unique identifier for this request to ensure idempotency. */
    clientToken?: string;
}
export interface BatchToggleUserSuspendStatusInput {
    /** The ID of the Wickr network where users will be suspended or unsuspended. */
    networkId: string;
    /** A boolean value indicating whether to suspend (true) or unsuspend (false) the specified users. */
    suspend: boolean;
    /** A list of user IDs identifying the users whose suspend status will be toggled. Maximum 50 users per batch request. */
    userIds: string[];
    /** A unique identifier for this request to ensure idempotency. */
    clientToken?: string;
}
export interface CreateBotInput {
    /** The password for the bot account. */
    challenge: string;
    /** The ID of the security group to which the bot will be assigned. */
    groupId: string;
    /** The ID of the Wickr network where the bot will be created. */
    networkId: string;
    /** The username for the bot. This must be unique within the network and follow the network's naming conventions. */
    username: string;
    /** The display name for the bot that will be visible to users in the network. */
    displayName?: string;
}
export interface CreateDataRetentionBotInput {
    /** The ID of the Wickr network where the data retention bot will be created. */
    networkId: string;
}
export interface CreateDataRetentionBotChallengeInput {
    /** The ID of the Wickr network containing the data retention bot. */
    networkId: string;
}
export interface CreateNetworkInput {
    /** The access level for the network. Valid values are STANDARD or PREMIUM, which determine the features and capabilities available to network members. */
    accessLevel: 'STANDARD' | 'PREMIUM';
    /** The name for the new network. Must be between 1 and 20 characters. */
    networkName: string;
    /** Specifies whether to enable a premium free trial for the network. It is optional and has a default value as false. When set to true, the network starts with premium features for a limited trial period */
    enablePremiumFreeTrial?: boolean;
    /** The ARN of the Amazon Web Services KMS customer managed key to use for encrypting sensitive data in the network. */
    encryptionKeyArn?: string;
}
export interface CreateSecurityGroupInput {
    /** The name for the new security group. */
    name: string;
    /** The ID of the Wickr network where the security group will be created. */
    networkId: string;
    /** The configuration settings for the security group, including permissions, federation settings, and feature controls. */
    securityGroupSettings: SecurityGroupSettingsRequest;
    /** A unique identifier for this request to ensure idempotency. */
    clientToken?: string;
}
export interface DeleteBotInput {
    /** The unique identifier of the bot to be deleted. */
    botId: string;
    /** The ID of the Wickr network from which the bot will be deleted. */
    networkId: string;
}
export interface DeleteDataRetentionBotInput {
    /** The ID of the Wickr network from which the data retention bot will be deleted. */
    networkId: string;
}
export interface DeleteNetworkInput {
    /** The ID of the Wickr network to delete. */
    networkId: string;
    /** A unique identifier for this request to ensure idempotency. If you retry a request with the same client token, the service will return the same response without attempting to delete the network again. */
    clientToken?: string;
}
export interface DeleteSecurityGroupInput {
    /** The unique identifier of the security group to delete. */
    groupId: string;
    /** The ID of the Wickr network from which the security group will be deleted. */
    networkId: string;
}
export interface GetBotInput {
    /** The unique identifier of the bot to retrieve. */
    botId: string;
    /** The ID of the Wickr network containing the bot. */
    networkId: string;
}
export interface GetBotsCountInput {
    /** The ID of the Wickr network for which to retrieve bot counts. */
    networkId: string;
}
export interface GetDataRetentionBotInput {
    /** The ID of the Wickr network containing the data retention bot. */
    networkId: string;
}
export interface GetGuestUserHistoryCountInput {
    /** The ID of the Wickr network for which to retrieve guest user history. */
    networkId: string;
}
export interface GetNetworkInput {
    /** The ID of the Wickr network to retrieve. */
    networkId: string;
}
export interface GetNetworkSettingsInput {
    /** The ID of the Wickr network whose settings will be retrieved. */
    networkId: string;
}
export interface GetOidcInfoInput {
    /** The ID of the Wickr network whose OIDC configuration will be retrieved. */
    networkId: string;
    /** The CA certificate for secure communication with the OIDC provider (optional). */
    certificate?: string;
    /** The OAuth client ID for retrieving access tokens (optional). */
    clientId?: string;
    /** The OAuth client secret for retrieving access tokens (optional). */
    clientSecret?: string;
    /** The authorization code for retrieving access tokens (optional). */
    code?: string;
    /** The PKCE code verifier for enhanced security in the OAuth flow (optional). */
    codeVerifier?: string;
    /** The OAuth grant type for retrieving access tokens (optional). */
    grantType?: string;
    /** The redirect URI for the OAuth flow (optional). */
    redirectUri?: string;
    /** The URL for the OIDC provider (optional). */
    url?: string;
}
export interface GetOpentdfConfigInput {
    /** The ID of the Wickr network for which OpenTDF integration will be retrieved. */
    networkId: string;
}
export interface GetSecurityGroupInput {
    /** The unique identifier of the security group to retrieve. */
    groupId: string;
    /** The ID of the Wickr network containing the security group. */
    networkId: string;
}
export interface GetUserInput {
    /** The ID of the Wickr network containing the user. */
    networkId: string;
    /** The unique identifier of the user to retrieve. */
    userId: string;
    /** The end time for filtering the user's last activity. Only activity before this timestamp will be considered. Time is specified in epoch seconds. */
    endTime?: string;
    /** The start time for filtering the user's last activity. Only activity after this timestamp will be considered. Time is specified in epoch seconds. */
    startTime?: string;
}
export interface GetUsersCountInput {
    /** The ID of the Wickr network for which to retrieve user counts. */
    networkId: string;
}
export interface ListBlockedGuestUsersInput {
    /** The ID of the Wickr network from which to list blocked guest users. */
    networkId: string;
    /** Filter results to only include blocked guest users that were blocked by this administrator. */
    admin?: string;
    /** The maximum number of blocked guest users to return in a single page. Valid range is 1-100. Default is 10. */
    maxResults?: number;
    /** The token for retrieving the next page of results. This is returned from a previous request when there are more results available. */
    nextToken?: string;
    /** The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'. */
    sortDirection?: 'ASC' | 'DESC';
    /** The field to sort blocked guest users by. Accepted values include 'username', 'admin', and 'modified'. */
    sortFields?: string;
    /** Filter results to only include blocked guest users with usernames matching this value. */
    username?: string;
}
export interface ListBotsInput {
    /** The ID of the Wickr network from which to list bots. */
    networkId: string;
    /** Filter results to only include bots with display names matching this value. */
    displayName?: string;
    /** Filter results to only include bots belonging to this security group. */
    groupId?: string;
    /** The maximum number of bots to return in a single page. Valid range is 1-100. Default is 10. */
    maxResults?: number;
    /** The token for retrieving the next page of results. This is returned from a previous request when there are more results available. */
    nextToken?: string;
    /** The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'. */
    sortDirection?: 'ASC' | 'DESC';
    /** The fields to sort bots by. Multiple fields can be specified by separating them with '+'. Accepted values include 'username', 'firstName', 'displayName', 'status', and 'groupId'. */
    sortFields?: string;
    /** Filter results to only include bots with this status (1 for pending, 2 for active). */
    status?: number;
    /** Filter results to only include bots with usernames matching this value. */
    username?: string;
}
export interface ListDevicesForUserInput {
    /** The ID of the Wickr network containing the user. */
    networkId: string;
    /** The unique identifier of the user whose devices will be listed. */
    userId: string;
    /** The maximum number of devices to return in a single page. Valid range is 1-100. Default is 10. */
    maxResults?: number;
    /** The token for retrieving the next page of results. This is returned from a previous request when there are more results available. */
    nextToken?: string;
    /** The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'. */
    sortDirection?: 'ASC' | 'DESC';
    /** The fields to sort devices by. Multiple fields can be specified by separating them with '+'. Accepted values include 'lastlogin', 'type', 'suspend', and 'created'. */
    sortFields?: string;
}
export interface ListGuestUsersInput {
    /** The ID of the Wickr network from which to list guest users. */
    networkId: string;
    /** Filter results to only include guest users from this billing period (e.g., '2024-01'). */
    billingPeriod?: string;
    /** The maximum number of guest users to return in a single page. Valid range is 1-100. Default is 10. */
    maxResults?: number;
    /** The token for retrieving the next page of results. This is returned from a previous request when there are more results available. */
    nextToken?: string;
    /** The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'. */
    sortDirection?: 'ASC' | 'DESC';
    /** The field to sort guest users by. Accepted values include 'username' and 'billingPeriod'. */
    sortFields?: string;
    /** Filter results to only include guest users with usernames matching this value. */
    username?: string;
}
export interface ListNetworksInput {
    /** The maximum number of networks to return in a single page. Valid range is 1-100. Default is 10. */
    maxResults?: number;
    /** The token for retrieving the next page of results. This is returned from a previous request when there are more results available. */
    nextToken?: string;
    /** The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'. */
    sortDirection?: 'ASC' | 'DESC';
    /** The field to sort networks by. Accepted values are 'networkId' and 'networkName'. Default is 'networkId'. */
    sortFields?: string;
}
export interface ListSecurityGroupsInput {
    /** The ID of the Wickr network from which to list security groups. */
    networkId: string;
    /** The maximum number of security groups to return in a single page. Valid range is 1-100. Default is 10. */
    maxResults?: number;
    /** The token for retrieving the next page of results. This is returned from a previous request when there are more results available. */
    nextToken?: string;
    /** The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'. */
    sortDirection?: 'ASC' | 'DESC';
    /** The field to sort security groups by. Accepted values include 'id' and 'name'. */
    sortFields?: string;
}
export interface ListSecurityGroupUsersInput {
    /** The unique identifier of the security group whose users will be listed. */
    groupId: string;
    /** The ID of the Wickr network containing the security group. */
    networkId: string;
    /** The maximum number of users to return in a single page. Valid range is 1-100. Default is 10. */
    maxResults?: number;
    /** The token for retrieving the next page of results. This is returned from a previous request when there are more results available. */
    nextToken?: string;
    /** The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'. */
    sortDirection?: 'ASC' | 'DESC';
    /** The field to sort users by. Multiple fields can be specified by separating them with '+'. Accepted values include 'username', 'firstName', and 'lastName'. */
    sortFields?: string;
}
export interface ListUsersInput {
    /** The ID of the Wickr network from which to list users. */
    networkId: string;
    /** Filter results to only include users with first names matching this value. */
    firstName?: string;
    /** Filter results to only include users belonging to this security group. */
    groupId?: string;
    /** Filter results to only include users with last names matching this value. */
    lastName?: string;
    /** The maximum number of users to return in a single page. Valid range is 1-100. Default is 10. */
    maxResults?: number;
    /** The token for retrieving the next page of results. This is returned from a previous request when there are more results available. */
    nextToken?: string;
    /** The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'. */
    sortDirection?: 'ASC' | 'DESC';
    /** The fields to sort users by. Multiple fields can be specified by separating them with '+'. Accepted values include 'username', 'firstName', 'lastName', 'status', and 'groupId'. */
    sortFields?: string;
    /** Filter results to only include users with this status (1 for pending, 2 for active). */
    status?: number;
    /** Filter results to only include users with usernames matching this value. */
    username?: string;
}
export interface RegisterOidcConfigInput {
    /** Custom identifier your end users will use to sign in with SSO. */
    companyId: string;
    /** The issuer URL of the OIDC provider (e.g., 'https://login.example.com'). */
    issuer: string;
    /** The ID of the Wickr network for which OIDC will be configured. */
    networkId: string;
    /** The OAuth scopes to request from the OIDC provider (e.g., 'openid profile email'). */
    scopes: string;
    /** A custom field mapping to extract the username from the OIDC token (optional). The customUsername is only required if you use something other than email as the username field. */
    customUsername?: string;
    /** Additional authentication parameters to include in the OIDC flow (optional). */
    extraAuthParams?: string;
    /** The client secret for authenticating with the OIDC provider (optional). */
    secret?: string;
    /** The buffer time in minutes before the SSO token expires to refresh it (optional). */
    ssoTokenBufferMinutes?: number;
    /** Unique identifier provided by your identity provider to authenticate the access request. Also referred to as clientID. */
    userId?: string;
}
export interface RegisterOidcConfigTestInput {
    /** The issuer URL of the OIDC provider to test. */
    issuer: string;
    /** The ID of the Wickr network for which the OIDC configuration will be tested. */
    networkId: string;
    /** The OAuth scopes to test with the OIDC provider. */
    scopes: string;
    /** The CA certificate for secure communication with the OIDC provider (optional). */
    certificate?: string;
    /** Additional authentication parameters to include in the test (optional). */
    extraAuthParams?: string;
}
export interface RegisterOpentdfConfigInput {
    /** The OIDC client ID used for authenticating with the OpenTDF provider. */
    clientId: string;
    /** The OIDC client secret used for authenticating with the OpenTDF provider */
    clientSecret: string;
    /** The domain of the OpenTDF server. */
    domain: string;
    /** The ID of the Wickr network for which OpenTDF integration will be configured. */
    networkId: string;
    /** The provider of the OpenTDF platform. Currently only Virtru is supported as the OpenTDF provider. */
    provider: string;
    /** Perform dry-run test connection of OpenTDF configuration (optional). */
    dryRun?: boolean;
}
export interface UpdateBotInput {
    /** The unique identifier of the bot to update. */
    botId: string;
    /** The ID of the Wickr network containing the bot to update. */
    networkId: string;
    /** The new password for the bot account. */
    challenge?: string;
    /** The new display name for the bot. */
    displayName?: string;
    /** The ID of the new security group to assign the bot to. */
    groupId?: string;
    /** Set to true to suspend the bot or false to unsuspend it. Omit this field for standard updates that don't affect suspension status. */
    suspend?: boolean;
}
export interface UpdateDataRetentionInput {
    /** The action to perform. Valid values are 'ENABLE' (to enable the data retention service), 'DISABLE' (to disable the service), or 'PUBKEY_MSG_ACK' (to acknowledge the public key message). */
    actionType: 'ENABLE' | 'DISABLE' | 'PUBKEY_MSG_ACK';
    /** The ID of the Wickr network containing the data retention bot. */
    networkId: string;
}
export interface UpdateGuestUserInput {
    /** Set to true to block the guest user or false to unblock them. */
    block: boolean;
    /** The ID of the Wickr network where the guest user's status will be updated. */
    networkId: string;
    /** The username hash (unique identifier) of the guest user to update. */
    usernameHash: string;
}
export interface UpdateNetworkInput {
    /** The ID of the Wickr network to update. */
    networkId: string;
    /** The new name for the network. Must be between 1 and 20 characters. */
    networkName: string;
    /** A unique identifier for this request to ensure idempotency. */
    clientToken?: string;
    /** The ARN of the Amazon Web Services KMS customer managed key to use for encrypting sensitive data in the network. */
    encryptionKeyArn?: string;
}
export interface UpdateNetworkSettingsInput {
    /** The ID of the Wickr network whose settings will be updated. */
    networkId: string;
    /** A map of setting names to their new values. Each setting should be provided with its appropriate type (boolean, string, number, etc.). */
    settings: NetworkSettings;
}
export interface UpdateSecurityGroupInput {
    /** The unique identifier of the security group to update. */
    groupId: string;
    /** The ID of the Wickr network containing the security group to update. */
    networkId: string;
    /** The new name for the security group. */
    name?: string;
    /** The updated configuration settings for the security group. Federation mode - 0 (Local federation), 1 (Restricted federation), 2 (Global federation) */
    securityGroupSettings?: SecurityGroupSettings;
}
export interface UpdateUserInput {
    /** The ID of the Wickr network containing the user to update. */
    networkId: string;
    /** The unique identifier of the user to update. */
    userId: string;
    /** An object containing the user details to be updated, such as name, password, security groups, and invite code settings. */
    userDetails?: UpdateUserDetails;
}
/** Wickr service binding for Step Functions SDK integrations. */
export declare class Wickr {
    constructor();
    batchCreateUser<T>(params: BatchCreateUserInput): Promise<T>;
    batchDeleteUser<T>(params: BatchDeleteUserInput): Promise<T>;
    batchLookupUserUname<T>(params: BatchLookupUserUnameInput): Promise<T>;
    batchReinviteUser<T>(params: BatchReinviteUserInput): Promise<T>;
    batchResetDevicesForUser<T>(params: BatchResetDevicesForUserInput): Promise<T>;
    batchToggleUserSuspendStatus<T>(params: BatchToggleUserSuspendStatusInput): Promise<T>;
    createBot<T>(params: CreateBotInput): Promise<T>;
    createDataRetentionBot<T>(params: CreateDataRetentionBotInput): Promise<T>;
    createDataRetentionBotChallenge<T>(params: CreateDataRetentionBotChallengeInput): Promise<T>;
    createNetwork<T>(params: CreateNetworkInput): Promise<T>;
    createSecurityGroup<T>(params: CreateSecurityGroupInput): Promise<T>;
    deleteBot<T>(params: DeleteBotInput): Promise<T>;
    deleteDataRetentionBot<T>(params: DeleteDataRetentionBotInput): Promise<T>;
    deleteNetwork<T>(params: DeleteNetworkInput): Promise<T>;
    deleteSecurityGroup<T>(params: DeleteSecurityGroupInput): Promise<T>;
    getBot<T>(params: GetBotInput): Promise<T>;
    getBotsCount<T>(params: GetBotsCountInput): Promise<T>;
    getDataRetentionBot<T>(params: GetDataRetentionBotInput): Promise<T>;
    getGuestUserHistoryCount<T>(params: GetGuestUserHistoryCountInput): Promise<T>;
    getNetwork<T>(params: GetNetworkInput): Promise<T>;
    getNetworkSettings<T>(params: GetNetworkSettingsInput): Promise<T>;
    getOidcInfo<T>(params: GetOidcInfoInput): Promise<T>;
    getOpentdfConfig<T>(params: GetOpentdfConfigInput): Promise<T>;
    getSecurityGroup<T>(params: GetSecurityGroupInput): Promise<T>;
    getUser<T>(params: GetUserInput): Promise<T>;
    getUsersCount<T>(params: GetUsersCountInput): Promise<T>;
    listBlockedGuestUsers<T>(params: ListBlockedGuestUsersInput): Promise<T>;
    listBots<T>(params: ListBotsInput): Promise<T>;
    listDevicesForUser<T>(params: ListDevicesForUserInput): Promise<T>;
    listGuestUsers<T>(params: ListGuestUsersInput): Promise<T>;
    listNetworks<T>(params: ListNetworksInput): Promise<T>;
    listSecurityGroups<T>(params: ListSecurityGroupsInput): Promise<T>;
    listSecurityGroupUsers<T>(params: ListSecurityGroupUsersInput): Promise<T>;
    listUsers<T>(params: ListUsersInput): Promise<T>;
    registerOidcConfig<T>(params: RegisterOidcConfigInput): Promise<T>;
    registerOidcConfigTest<T>(params: RegisterOidcConfigTestInput): Promise<T>;
    registerOpentdfConfig<T>(params: RegisterOpentdfConfigInput): Promise<T>;
    updateBot<T>(params: UpdateBotInput): Promise<T>;
    updateDataRetention<T>(params: UpdateDataRetentionInput): Promise<T>;
    updateGuestUser<T>(params: UpdateGuestUserInput): Promise<T>;
    updateNetwork<T>(params: UpdateNetworkInput): Promise<T>;
    updateNetworkSettings<T>(params: UpdateNetworkSettingsInput): Promise<T>;
    updateSecurityGroup<T>(params: UpdateSecurityGroupInput): Promise<T>;
    updateUser<T>(params: UpdateUserInput): Promise<T>;
}
//# sourceMappingURL=Wickr.d.ts.map