/**
 * ChatKitty Platform API
 * OpenAPI specification (OAS) for the ChatKitty Platform API. See the Interactive Docs to try ChatKitty API methods without writing code, and get the complete schema of resources exposed by the API.
 *
 * The version of the OpenAPI document: 2.106.8
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { Configuration } from './configuration';
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import type { RequestArgs } from './base';
import { BaseAPI } from './base';
export interface ApiError {
    'error': string;
    'explanation'?: string;
    'message': string;
    'properties'?: {
        [key: string]: object;
    };
    'timestamp': string;
}
/**
 * Application features that are enabled or disabled
 */
export interface ApplicationFeatureSettingsProperties {
    /**
     * Toggle state of this settings option
     */
    'guest_users': ApplicationFeatureSettingsPropertiesGuestUsersEnum;
    /**
     * Toggle state of this settings option
     */
    'user_created_channels': ApplicationFeatureSettingsPropertiesUserCreatedChannelsEnum;
}
export declare const ApplicationFeatureSettingsPropertiesGuestUsersEnum: {
    readonly Disabled: "DISABLED";
    readonly Enabled: "ENABLED";
};
export type ApplicationFeatureSettingsPropertiesGuestUsersEnum = typeof ApplicationFeatureSettingsPropertiesGuestUsersEnum[keyof typeof ApplicationFeatureSettingsPropertiesGuestUsersEnum];
export declare const ApplicationFeatureSettingsPropertiesUserCreatedChannelsEnum: {
    readonly Disabled: "DISABLED";
    readonly Enabled: "ENABLED";
};
export type ApplicationFeatureSettingsPropertiesUserCreatedChannelsEnum = typeof ApplicationFeatureSettingsPropertiesUserCreatedChannelsEnum[keyof typeof ApplicationFeatureSettingsPropertiesUserCreatedChannelsEnum];
export interface ApplicationJobResource {
    /**
     * The type of application job
     */
    'type': ApplicationJobResourceTypeEnum;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    'created_time': string;
    'ended_time'?: string;
    'file'?: string;
    /**
     * The running state of an application job
     */
    'state': ApplicationJobResourceStateEnum;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export declare const ApplicationJobResourceTypeEnum: {
    readonly ChannelImport: "CHANNEL_IMPORT";
    readonly ChannelMembersImport: "CHANNEL_MEMBERS_IMPORT";
    readonly MessageImport: "MESSAGE_IMPORT";
    readonly UserImport: "USER_IMPORT";
    readonly MessageAnalyticsExport: "MESSAGE_ANALYTICS_EXPORT";
};
export type ApplicationJobResourceTypeEnum = typeof ApplicationJobResourceTypeEnum[keyof typeof ApplicationJobResourceTypeEnum];
export declare const ApplicationJobResourceStateEnum: {
    readonly Pending: "PENDING";
    readonly Running: "RUNNING";
    readonly Finished: "FINISHED";
    readonly Failed: "FAILED";
};
export type ApplicationJobResourceStateEnum = typeof ApplicationJobResourceStateEnum[keyof typeof ApplicationJobResourceStateEnum];
export interface ApplicationResource {
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * ISO date-time this application was created
     */
    'created_time': string;
    /**
     * Primary API key assigned to this application
     */
    'key': string;
    /**
     * Custom properties attached to this application
     */
    'properties': {
        [key: string]: object;
    };
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
/**
 * Sent when a system message is sent
 */
export interface ApplicationSentSystemMessageNotificationData {
    'type': string;
    /**
     * The ID channel the message was sent. Deprecated: Use the channel property of this notification
     * @deprecated
     */
    'channel_id': number;
    'message': SystemMessageResource;
}
export interface ApplicationSettingsProperties {
    /**
     * Toggle state of this settings option
     */
    'guest_users': ApplicationSettingsPropertiesGuestUsersEnum;
    /**
     * Toggle state of this settings option
     */
    'user_created_channels': ApplicationSettingsPropertiesUserCreatedChannelsEnum;
}
export declare const ApplicationSettingsPropertiesGuestUsersEnum: {
    readonly Disabled: "DISABLED";
    readonly Enabled: "ENABLED";
};
export type ApplicationSettingsPropertiesGuestUsersEnum = typeof ApplicationSettingsPropertiesGuestUsersEnum[keyof typeof ApplicationSettingsPropertiesGuestUsersEnum];
export declare const ApplicationSettingsPropertiesUserCreatedChannelsEnum: {
    readonly Disabled: "DISABLED";
    readonly Enabled: "ENABLED";
};
export type ApplicationSettingsPropertiesUserCreatedChannelsEnum = typeof ApplicationSettingsPropertiesUserCreatedChannelsEnum[keyof typeof ApplicationSettingsPropertiesUserCreatedChannelsEnum];
export interface ApplicationSettingsResource {
    /**
     * Toggle state of this settings option
     */
    'guest_users': ApplicationSettingsResourceGuestUsersEnum;
    /**
     * Toggle state of this settings option
     */
    'user_created_channels': ApplicationSettingsResourceUserCreatedChannelsEnum;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export declare const ApplicationSettingsResourceGuestUsersEnum: {
    readonly Disabled: "DISABLED";
    readonly Enabled: "ENABLED";
};
export type ApplicationSettingsResourceGuestUsersEnum = typeof ApplicationSettingsResourceGuestUsersEnum[keyof typeof ApplicationSettingsResourceGuestUsersEnum];
export declare const ApplicationSettingsResourceUserCreatedChannelsEnum: {
    readonly Disabled: "DISABLED";
    readonly Enabled: "ENABLED";
};
export type ApplicationSettingsResourceUserCreatedChannelsEnum = typeof ApplicationSettingsResourceUserCreatedChannelsEnum[keyof typeof ApplicationSettingsResourceUserCreatedChannelsEnum];
export interface AuthenticationError {
    'error': string;
    'error_description': string;
}
export interface ChannelGenericEventResource {
    /**
     * Custom type of this event
     */
    'type': string;
    /**
     * Custom data associated with this event
     */
    'properties': {
        [key: string]: object;
    };
    'user'?: ChatUserProperties;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export interface ChannelImport {
    'type': string;
    /**
     * Username of the user who created this channel
     */
    'creator'?: string;
    /**
     * Unique value generated by the client which ChatKitty uses to recognize subsequent retries of the same request. Optional but recommended
     */
    'idempotency_key'?: string;
    /**
     * List of usernames of members of this channel
     */
    'members': Array<string>;
    /**
     * Custom data associated with this channel
     */
    'properties'?: {
        [key: string]: object;
    };
}
export interface ChannelInviteResource {
    /**
     * The time this invite was created
     */
    'created_time': string;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export interface ChannelMembershipImport {
    /**
     * Unique value generated by the client which ChatKitty uses to recognize subsequent retries of the same request. Optional but recommended
     */
    'idempotency_key'?: string;
    /**
     * Username of the user to be added as a member
     */
    'username': string;
}
export interface ChannelMembershipResource {
    'created_time': string;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
/**
 * A channel mention
 */
export interface ChannelMessageMentionProperties extends MessageMentionProperties {
    'channel': MessageMentionChannelProperties;
}
export interface ChannelProperties {
    /**
     * The type of this channel
     */
    'type': ChannelPropertiesTypeEnum;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * The ISO date-time this channel was created
     */
    'created_time': string;
    'creator'?: ChatUserProperties;
    'last_received_message'?: MessageProperties;
    /**
     * Custom data associated with this channel
     */
    'properties': {
        [key: string]: object;
    };
}
export declare const ChannelPropertiesTypeEnum: {
    readonly Direct: "DIRECT";
    readonly Public: "PUBLIC";
    readonly Private: "PRIVATE";
};
export type ChannelPropertiesTypeEnum = typeof ChannelPropertiesTypeEnum[keyof typeof ChannelPropertiesTypeEnum];
/**
 * @type ChannelResource
 */
export type ChannelResource = {
    type: 'DIRECT';
} & DirectChannelResource | {
    type: 'PRIVATE';
} & PrivateChannelResource | {
    type: 'PUBLIC';
} & PublicChannelResource;
/**
 * The runtime this function executes on. Always a NodeJS runtime
 */
export interface ChatFunctionChatRuntimeProperties {
    /**
     * The type of this runtime. Always NODEJS
     */
    'type': ChatFunctionChatRuntimePropertiesTypeEnum;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * The semantic version of this runtime
     */
    'version': string;
}
export declare const ChatFunctionChatRuntimePropertiesTypeEnum: {
    readonly Nodejs: "NODEJS";
};
export type ChatFunctionChatRuntimePropertiesTypeEnum = typeof ChatFunctionChatRuntimePropertiesTypeEnum[keyof typeof ChatFunctionChatRuntimePropertiesTypeEnum];
export interface ChatFunctionInvocationResource {
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * The function arguments passed into this function for this invocation
     */
    'args': {
        [key: string]: object;
    };
    /**
     * The ISO date-time of this invocation when the function was called
     */
    'created_time': string;
    /**
     * The result of this invocation when it completed
     */
    'result': {
        [key: string]: object;
    };
    /**
     * The running status of this invocation
     */
    'status': ChatFunctionInvocationResourceStatusEnum;
    /**
     * The version number of this function version when this invocation occured
     */
    'version_number': number;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export declare const ChatFunctionInvocationResourceStatusEnum: {
    readonly Running: "RUNNING";
    readonly Succeeded: "SUCCEEDED";
    readonly Failed: "FAILED";
};
export type ChatFunctionInvocationResourceStatusEnum = typeof ChatFunctionInvocationResourceStatusEnum[keyof typeof ChatFunctionInvocationResourceStatusEnum];
export interface ChatFunctionResource {
    /**
     * The type of this function
     */
    'type': string;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * The current version number of this function. Incremented every time a new version is deployed
     */
    'current_version_number': number;
    /**
     * Optional description of this function
     */
    'description'?: string;
    /**
     * True if this function is enabled
     */
    'enabled': boolean;
    /**
     * The name of this function
     */
    'name': string;
    'runtime': ChatFunctionChatRuntimeProperties;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export interface ChatFunctionVersionResource {
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * JavaScript/TypeScript code that runs when this function is executed
     */
    'handler_script': string;
    /**
     * The version number of this function version. Incremented from the previous version
     */
    'version_number': number;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
/**
 * The NPM dependencies version of this runtime
 */
export interface ChatRuntimeDependencyProperties {
    /**
     * True if this NPM package is automatically installed by ChatKitty and available by default in your chat functions
     */
    'default_dependency': boolean;
    /**
     * The name of the dependency NPM package
     */
    'name': string;
    /**
     * The version of the NPM package
     */
    'version': string;
}
export interface ChatRuntimeProperties {
    /**
     * The type of this runtime. Always NODEJS
     */
    'type': ChatRuntimePropertiesTypeEnum;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * The NPM dependencies version of this runtime
     */
    'dependencies': Array<ChatRuntimeDependencyProperties>;
    /**
     * Environment variable set for this runtime. Accessible in the initialization script and chat functions associated with this runtime
     */
    'environment_variables': {
        [key: string]: string;
    };
    'initialization_script'?: ChatRuntimeScriptProperties;
    /**
     * The semantic version of this runtime
     */
    'version': string;
}
export declare const ChatRuntimePropertiesTypeEnum: {
    readonly Nodejs: "NODEJS";
};
export type ChatRuntimePropertiesTypeEnum = typeof ChatRuntimePropertiesTypeEnum[keyof typeof ChatRuntimePropertiesTypeEnum];
export interface ChatRuntimeResource {
    /**
     * The type of this runtime. Always NODEJS
     */
    'type': ChatRuntimeResourceTypeEnum;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * The NPM dependencies version of this runtime
     */
    'dependencies': Array<ChatRuntimeDependencyProperties>;
    /**
     * Environment variable set for this runtime. Accessible in the initialization script and chat functions associated with this runtime
     */
    'environment_variables': {
        [key: string]: string;
    };
    'initialization_script'?: ChatRuntimeScriptProperties;
    /**
     * The semantic version of this runtime
     */
    'version': string;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export declare const ChatRuntimeResourceTypeEnum: {
    readonly Nodejs: "NODEJS";
};
export type ChatRuntimeResourceTypeEnum = typeof ChatRuntimeResourceTypeEnum[keyof typeof ChatRuntimeResourceTypeEnum];
export interface ChatRuntimeScriptProperties {
    /**
     * The JavaScript/TypeScript source of this script
     */
    'script': string;
}
export interface ChatSessionResource {
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * Time this session was created
     */
    'created_time': string;
    /**
     * Time this session ended. Present if state is ENDED
     */
    'end_time'?: string;
    'session': ChatUserSessionProperties;
    /**
     * State of this session. ACTIVE or ENDED
     */
    'state': ChatSessionResourceStateEnum;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export declare const ChatSessionResourceStateEnum: {
    readonly Active: "ACTIVE";
    readonly Ended: "ENDED";
};
export type ChatSessionResourceStateEnum = typeof ChatSessionResourceStateEnum[keyof typeof ChatSessionResourceStateEnum];
/**
 * Reference to a user by ID
 */
export interface ChatUserIdReference {
    /**
     * User ID associated with this user
     */
    'id': number;
}
export interface ChatUserImport {
    /**
     * Human readable name of this user. Shown to other users
     */
    'display_name': string;
    'display_picture'?: FileImport;
    /**
     * True if this user was created by a guest user session
     */
    'guest': boolean;
    /**
     * Unique value generated by the client which ChatKitty uses to recognize subsequent retries of the same request. Optional but recommended
     */
    'idempotency_key'?: string;
    /**
     * The unique name used to identify this user across ChatKitty. Also known as username
     */
    'name': string;
    /**
     * Custom data associated with this user
     */
    'properties': {
        [key: string]: object;
    };
}
/**
 * Sent when a user mentions a channel in a message
 */
export interface ChatUserMentionedChannelNotificationData {
    'type': string;
    /**
     * The ID of the channel the mentioning message was sent. Deprecated: Use the channel property of this notification
     * @deprecated
     */
    'channel_id': number;
    'mentioned_channel': ChannelResource;
    'message': TextMessageResource;
}
/**
 * Sent when a user mentions a user in a message
 */
export interface ChatUserMentionedChatUserNotificationData {
    'type': string;
    /**
     * The ID of the channel the mentioning message was sent. Deprecated: Use the channel property of this notification
     * @deprecated
     */
    'channel_id': number;
    'mentioned_user': ChatUserResource;
    'message': TextMessageResource;
}
/**
 * A user mention
 */
export interface ChatUserMessageMentionProperties extends MessageMentionProperties {
    'user': ChatUserProperties;
}
/**
 * @type ChatUserMessageResource
 * The message that was sent
 */
export type ChatUserMessageResource = {
    type: 'FILE';
} & FileChatUserMessageResource | {
    type: 'TEXT';
} & TextChatUserMessageResource;
/**
 * Presence status of this user
 */
export interface ChatUserPresenceProperties {
    /**
     * True if this user has an active user session
     */
    'online': boolean;
    /**
     * The availability status of this user
     */
    'status': string;
}
export interface ChatUserProperties {
    /**
     * Type of user
     */
    'type': ChatUserPropertiesTypeEnum;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * Call presence status of this user
     */
    'call_status'?: ChatUserPropertiesCallStatusEnum;
    /**
     * Human readable name of this user. Shown to other users
     */
    'display_name': string;
    /**
     * URL for this user\'s display picture
     */
    'display_picture_url': string;
    /**
     * True if this user was created by a guest user session
     */
    'isGuest': boolean;
    /**
     * The unique name used to identify this user across ChatKitty. Also known as username
     */
    'name': string;
    'presence': ChatUserPresenceProperties;
    /**
     * Custom data associated with this user
     */
    'properties': {
        [key: string]: object;
    };
}
export declare const ChatUserPropertiesTypeEnum: {
    readonly Person: "PERSON";
    readonly Bot: "BOT";
};
export type ChatUserPropertiesTypeEnum = typeof ChatUserPropertiesTypeEnum[keyof typeof ChatUserPropertiesTypeEnum];
export declare const ChatUserPropertiesCallStatusEnum: {
    readonly Available: "AVAILABLE";
    readonly InCall: "IN_CALL";
};
export type ChatUserPropertiesCallStatusEnum = typeof ChatUserPropertiesCallStatusEnum[keyof typeof ChatUserPropertiesCallStatusEnum];
/**
 * Sent when a user replies to a message
 */
export interface ChatUserRepliedToChatUserMessageNotificationData {
    'type': string;
    /**
     * The ID of channel the reply message was sent. Deprecated: Use the channel property of this notification
     * @deprecated
     */
    'channel_id': number;
    'message': MessageResource;
    'parent': MessageResource;
}
export interface ChatUserResource {
    /**
     * Type of user
     */
    'type': ChatUserResourceTypeEnum;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * Call presence status of this user
     */
    'call_status'?: ChatUserResourceCallStatusEnum;
    /**
     * Human readable name of this user. Shown to other users
     */
    'display_name': string;
    /**
     * URL for this user\'s display picture
     */
    'display_picture_url': string;
    /**
     * True if this user was created by a guest user session
     */
    'isGuest': boolean;
    /**
     * The unique name used to identify this user across ChatKitty. Also known as username
     */
    'name': string;
    'presence': ChatUserPresenceProperties;
    /**
     * Custom data associated with this user
     */
    'properties': {
        [key: string]: object;
    };
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export declare const ChatUserResourceTypeEnum: {
    readonly Person: "PERSON";
    readonly Bot: "BOT";
};
export type ChatUserResourceTypeEnum = typeof ChatUserResourceTypeEnum[keyof typeof ChatUserResourceTypeEnum];
export declare const ChatUserResourceCallStatusEnum: {
    readonly Available: "AVAILABLE";
    readonly InCall: "IN_CALL";
};
export type ChatUserResourceCallStatusEnum = typeof ChatUserResourceCallStatusEnum[keyof typeof ChatUserResourceCallStatusEnum];
/**
 * Sent when a user sends a message
 */
export interface ChatUserSentChatUserMessageNotificationData {
    'type': string;
    /**
     * The ID channel the message was sent. Deprecated: Use the channel property of this notification
     * @deprecated
     */
    'channel_id': number;
    'message': ChatUserMessageResource;
}
export interface ChatUserSessionProperties {
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * Time this session was created
     */
    'created_time': string;
    /**
     * Time this session ended. Present if state is ENDED
     */
    'end_time'?: string;
    /**
     * State of this session. ACTIVE or ENDED
     */
    'state': ChatUserSessionPropertiesStateEnum;
    'user': ChatUserProperties;
    /**
     * User agent used to start this session
     */
    'user_agent'?: string;
}
export declare const ChatUserSessionPropertiesStateEnum: {
    readonly Active: "ACTIVE";
    readonly Ended: "ENDED";
};
export type ChatUserSessionPropertiesStateEnum = typeof ChatUserSessionPropertiesStateEnum[keyof typeof ChatUserSessionPropertiesStateEnum];
export interface ChatUserSessionResource {
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * Time this session was created
     */
    'created_time': string;
    /**
     * Time this session ended. Present if state is ENDED
     */
    'end_time'?: string;
    /**
     * State of this session. ACTIVE or ENDED
     */
    'state': ChatUserSessionResourceStateEnum;
    'user': ChatUserProperties;
    /**
     * User agent used to start this session
     */
    'user_agent'?: string;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export declare const ChatUserSessionResourceStateEnum: {
    readonly Active: "ACTIVE";
    readonly Ended: "ENDED";
};
export type ChatUserSessionResourceStateEnum = typeof ChatUserSessionResourceStateEnum[keyof typeof ChatUserSessionResourceStateEnum];
/**
 * Reference to a user by username
 */
export interface ChatUserUsernameReference {
    /**
     * Username associated with this user
     */
    'username': string;
}
export interface CountResource {
    /**
     * The number of items
     */
    'count': number;
}
export interface CreateChannelGenericEventResource {
    /**
     * Custom type of this event
     */
    'type': string;
    /**
     * Custom data associated with this event
     */
    'properties': {
        [key: string]: object;
    };
}
export interface CreateChannelInviteResource {
    /**
     * Reference to a user
     */
    'user': object;
}
export interface CreateChannelResource {
    'type': string;
    /**
     * Reference to a user
     */
    'creator'?: object;
    /**
     * List of user references of members of this channel
     */
    'members'?: Set<object>;
    /**
     * Custom data associated with this channel
     */
    'properties'?: {
        [key: string]: object;
    };
}
export interface CreateChatFunctionResource {
    'type': string;
    'description'?: string;
    'initialize_asynchronously': boolean;
    'name': string;
}
export interface CreateChatFunctionVersionResource {
    /**
     * JavaScript/TypeScript code that runs when this function is executed
     */
    'handler_script': string;
}
export interface CreateDelegatedReplyThreadKeystrokesResource {
    'keys': string;
    /**
     * Reference to a user
     */
    'user': object;
}
/**
 * Creates a direct channel
 */
export interface CreateDirectChannelResource extends CreateChannelResource {
}
export interface CreateExternalFileProperties {
    /**
     * File MIME content type
     */
    'content_type': string;
    /**
     * File name
     */
    'name': string;
    /**
     * File size in bytes
     */
    'size': number;
    /**
     * External file URL
     */
    'url': string;
}
export interface CreateFileMessageResource extends CreateMessageResource {
    'file': CreateExternalFileProperties;
}
export interface CreateGroupChannelResource extends CreateChannelResource {
    /**
     * The unique name of this channel used to reference the channel. If absent defaults to a random UUID
     */
    'name'?: string;
    /**
     * Human readable name of this channel shown to users. If absent defaults to the channel name
     */
    'display_name'?: string;
}
export interface CreateMessageResource {
    'type': string;
    /**
     * Optional string to associate this message with other messages. Can be used to group messages into a gallery
     */
    'group_tag'?: string;
    /**
     * Custom data associated with this message
     */
    'properties'?: {
        [key: string]: object;
    };
    /**
     * Reference to a user
     */
    'user'?: object;
}
export interface CreatePersonChatUserResource {
    /**
     * Human readable name of this user. Shown to other users
     */
    'display_name': string;
    /**
     * True if this user was created by a guest user session
     */
    'is_guest': boolean;
    /**
     * The unique name used to identify this user across ChatKitty. Also known as username
     */
    'name': string;
    /**
     * Custom data associated with this user
     */
    'properties'?: {
        [key: string]: object;
    };
}
/**
 * Creates a private channel
 */
export interface CreatePrivateChannelResource {
    'type': string;
    /**
     * Reference to a user
     */
    'creator'?: object;
    /**
     * List of user references of members of this channel
     */
    'members'?: Set<object>;
    /**
     * Custom data associated with this channel
     */
    'properties'?: {
        [key: string]: object;
    };
    /**
     * The unique name of this channel used to reference the channel. If absent defaults to a random UUID
     */
    'name'?: string;
    /**
     * Human readable name of this channel shown to users. If absent defaults to the channel name
     */
    'display_name'?: string;
}
/**
 * Creates a public channel
 */
export interface CreatePublicChannelResource {
    'type': string;
    /**
     * Reference to a user
     */
    'creator'?: object;
    /**
     * List of user references of members of this channel
     */
    'members'?: Set<object>;
    /**
     * Custom data associated with this channel
     */
    'properties'?: {
        [key: string]: object;
    };
    /**
     * The unique name of this channel used to reference the channel. If absent defaults to a random UUID
     */
    'name'?: string;
    /**
     * Human readable name of this channel shown to users. If absent defaults to the channel name
     */
    'display_name'?: string;
}
export interface CreateTextMessageResource extends CreateMessageResource {
    /**
     * The text body of this message
     */
    'body': string;
}
export interface CursorPageMetadata {
    'next'?: string;
    'size': number;
    'start'?: string;
    'total': number;
}
export interface CursorPagedModelMessageResource {
    '_embedded'?: CursorPagedModelMessageResourceEmbedded;
    'page': CursorPageMetadata;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export interface CursorPagedModelMessageResourceEmbedded {
    'messages'?: Array<MessageResource>;
}
export interface CursorPagedModelNotificationResource {
    '_embedded'?: CursorPagedModelNotificationResourceEmbedded;
    'page': CursorPageMetadata;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export interface CursorPagedModelNotificationResourceEmbedded {
    'notifications'?: Array<NotificationResource>;
}
/**
 * Imports a direct channel
 */
export interface DirectChannelImport extends ChannelImport {
}
/**
 * A direct channel
 */
export interface DirectChannelProperties extends ChannelProperties {
    /**
     * The members of this channel. Present if this is a direct channel. For other channel types, use [**list channel messages**](https://chatkitty.com/docs/api/reference#tag/channels/operation/list-channel-messages)
     */
    'members': Array<ChatUserProperties>;
}
export interface DirectChannelResource {
    /**
     * The type of this channel
     */
    'type': DirectChannelResourceTypeEnum;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * The ISO date-time this channel was created
     */
    'created_time': string;
    'creator'?: ChatUserProperties;
    'last_received_message'?: MessageProperties;
    /**
     * The members of this channel. Present if this is a direct channel. For other channel types, use [**list channel messages**](https://chatkitty.com/docs/api/reference#tag/channels/operation/list-channel-messages)
     */
    'members': Array<ChatUserProperties>;
    /**
     * Custom data associated with this channel
     */
    'properties': {
        [key: string]: object;
    };
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export declare const DirectChannelResourceTypeEnum: {
    readonly Direct: "DIRECT";
    readonly Public: "PUBLIC";
    readonly Private: "PRIVATE";
};
export type DirectChannelResourceTypeEnum = typeof DirectChannelResourceTypeEnum[keyof typeof DirectChannelResourceTypeEnum];
/**
 * The emoji these users reacted with
 */
export interface EmojiProperties {
    /**
     * List of possible aliases for this emoji
     */
    'aliases': Set<string>;
    /**
     * The unicode character of this emoji
     */
    'character': string;
    /**
     * Description of this emoji
     */
    'description': string;
    /**
     * Tags used to describe this emoji
     */
    'tags': Set<string>;
}
/**
 * A file message sent by or behalf of a user
 */
export interface FileChatUserMessageProperties {
    /**
     * The type of this message
     */
    'type': FileChatUserMessagePropertiesTypeEnum;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * The ID of the channel this message belongs to
     */
    'channel_id': number;
    /**
     * The time this message was created
     */
    'created_time': string;
    /**
     * Optional string to associate this message with other messages. Can be used to group messages into a gallery
     */
    'group_tag'?: string;
    /**
     * The time this message was last edited
     */
    'last_edited_time'?: string;
    /**
     * The nested thread level of this message
     */
    'nested_level': number;
    /**
     * Custom data associated with this message
     */
    'properties': {
        [key: string]: object;
    };
    /**
     * Reactions to this message
     */
    'reactions'?: Array<MessageReactionsSummaryProperties>;
    /**
     * The number of replies to this message
     */
    'replies_count'?: number;
    /**
     * The number of times this message has been reported
     */
    'report_count'?: number;
    'file': FileProperties;
    'user': ChatUserProperties;
}
export declare const FileChatUserMessagePropertiesTypeEnum: {
    readonly Text: "TEXT";
    readonly File: "FILE";
    readonly SystemText: "SYSTEM_TEXT";
    readonly SystemFile: "SYSTEM_FILE";
};
export type FileChatUserMessagePropertiesTypeEnum = typeof FileChatUserMessagePropertiesTypeEnum[keyof typeof FileChatUserMessagePropertiesTypeEnum];
export interface FileChatUserMessageResource {
    /**
     * The type of this message
     */
    'type': FileChatUserMessageResourceTypeEnum;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * The ID of the channel this message belongs to
     */
    'channel_id': number;
    /**
     * The time this message was created
     */
    'created_time': string;
    'file': FileProperties;
    /**
     * Optional string to associate this message with other messages. Can be used to group messages into a gallery
     */
    'group_tag'?: string;
    /**
     * The time this message was last edited
     */
    'last_edited_time'?: string;
    /**
     * The nested thread level of this message
     */
    'nested_level': number;
    /**
     * Custom data associated with this message
     */
    'properties': {
        [key: string]: object;
    };
    /**
     * Reactions to this message
     */
    'reactions'?: Array<MessageReactionsSummaryProperties>;
    /**
     * The number of replies to this message
     */
    'replies_count'?: number;
    /**
     * The number of times this message has been reported
     */
    'report_count'?: number;
    'user': ChatUserProperties;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export declare const FileChatUserMessageResourceTypeEnum: {
    readonly Text: "TEXT";
    readonly File: "FILE";
    readonly SystemText: "SYSTEM_TEXT";
    readonly SystemFile: "SYSTEM_FILE";
};
export type FileChatUserMessageResourceTypeEnum = typeof FileChatUserMessageResourceTypeEnum[keyof typeof FileChatUserMessageResourceTypeEnum];
/**
 * External file properties
 */
export interface FileImport {
    /**
     * The mime type of this file
     */
    'content_type': string;
    /**
     * Unique value generated by the client which ChatKitty uses to recognize subsequent retries of the same request. Optional but recommended
     */
    'idempotency_key'?: string;
    /**
     * The file name
     */
    'name': string;
    /**
     * The size of this file in bytes
     */
    'size': number;
    /**
     * The file URL
     */
    'url': string;
}
export interface FileMessageProperties extends MessageProperties {
    'file': FileProperties;
}
/**
 * The file data of this message
 */
export interface FileProperties {
    /**
     * The type of this file. Either external or hosted by ChatKitty
     */
    'type': FilePropertiesTypeEnum;
    /**
     * The mime type of this file
     */
    'content_type': string;
    /**
     * The file name
     */
    'name': string;
    /**
     * The size of this file in bytes
     */
    'size': number;
    /**
     * The file URL
     */
    'url': string;
}
export declare const FilePropertiesTypeEnum: {
    readonly Hosted: "HOSTED";
    readonly External: "EXTERNAL";
};
export type FilePropertiesTypeEnum = typeof FilePropertiesTypeEnum[keyof typeof FilePropertiesTypeEnum];
/**
 * A file message sent by this application itself. Used for systems announcements independent of any user
 */
export interface FileSystemMessageProperties {
    /**
     * The type of this message
     */
    'type': FileSystemMessagePropertiesTypeEnum;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * The ID of the channel this message belongs to
     */
    'channel_id': number;
    /**
     * The time this message was created
     */
    'created_time': string;
    /**
     * Optional string to associate this message with other messages. Can be used to group messages into a gallery
     */
    'group_tag'?: string;
    /**
     * The time this message was last edited
     */
    'last_edited_time'?: string;
    /**
     * The nested thread level of this message
     */
    'nested_level': number;
    /**
     * Custom data associated with this message
     */
    'properties': {
        [key: string]: object;
    };
    /**
     * Reactions to this message
     */
    'reactions'?: Array<MessageReactionsSummaryProperties>;
    /**
     * The number of replies to this message
     */
    'replies_count'?: number;
    /**
     * The number of times this message has been reported
     */
    'report_count'?: number;
    'file': FileProperties;
}
export declare const FileSystemMessagePropertiesTypeEnum: {
    readonly Text: "TEXT";
    readonly File: "FILE";
    readonly SystemText: "SYSTEM_TEXT";
    readonly SystemFile: "SYSTEM_FILE";
};
export type FileSystemMessagePropertiesTypeEnum = typeof FileSystemMessagePropertiesTypeEnum[keyof typeof FileSystemMessagePropertiesTypeEnum];
export interface FileSystemMessageResource {
    /**
     * The type of this message
     */
    'type': FileSystemMessageResourceTypeEnum;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * The ID of the channel this message belongs to
     */
    'channel_id': number;
    /**
     * The time this message was created
     */
    'created_time': string;
    'file': FileProperties;
    /**
     * Optional string to associate this message with other messages. Can be used to group messages into a gallery
     */
    'group_tag'?: string;
    /**
     * The time this message was last edited
     */
    'last_edited_time'?: string;
    /**
     * The nested thread level of this message
     */
    'nested_level': number;
    /**
     * Custom data associated with this message
     */
    'properties': {
        [key: string]: object;
    };
    /**
     * Reactions to this message
     */
    'reactions'?: Array<MessageReactionsSummaryProperties>;
    /**
     * The number of replies to this message
     */
    'replies_count'?: number;
    /**
     * The number of times this message has been reported
     */
    'report_count'?: number;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export declare const FileSystemMessageResourceTypeEnum: {
    readonly Text: "TEXT";
    readonly File: "FILE";
    readonly SystemText: "SYSTEM_TEXT";
    readonly SystemFile: "SYSTEM_FILE";
};
export type FileSystemMessageResourceTypeEnum = typeof FileSystemMessageResourceTypeEnum[keyof typeof FileSystemMessageResourceTypeEnum];
export interface GroupChannelImport {
    /**
     * Username of the user who created this channel
     */
    'creator'?: string;
    /**
     * Human readable name of this channel shown to users. If absent defaults to the channel name
     */
    'display_name'?: string;
    /**
     * Unique value generated by the client which ChatKitty uses to recognize subsequent retries of the same request. Optional but recommended
     */
    'idempotency_key'?: string;
    /**
     * List of usernames of members of this channel
     */
    'members': Array<string>;
    /**
     * The unique name of this channel used to reference the channel. If absent defaults to a random UUID
     */
    'name'?: string;
    /**
     * Custom data associated with this channel
     */
    'properties'?: {
        [key: string]: object;
    };
}
export interface GroupChannelProperties extends ChannelProperties {
    /**
     * Human readable name of this channel shown to users
     */
    'display_name': string;
    /**
     * The unique name of this channel used to reference the channel
     */
    'name': string;
}
export interface Link {
    'href'?: string;
    'hreflang'?: string;
    'title'?: string;
    'type'?: string;
    'deprecation'?: string;
    'profile'?: string;
    'name'?: string;
    'templated'?: boolean;
}
export interface MessageImport {
    'type': string;
    /**
     * ID of the channel this message belongs to
     */
    'channel_id': number;
    /**
     * Tag identifying the message group this message belongs to
     */
    'group_tag'?: string;
    /**
     * Unique value generated by the client which ChatKitty uses to recognize subsequent retries of the same request. Optional but recommended
     */
    'idempotency_key'?: string;
    /**
     * Map of custom data attached to this message
     */
    'properties'?: {
        [key: string]: object;
    };
}
/**
 * Image data of this link preview
 */
export interface MessageLinkPreviewImageProperties {
    /**
     * The url source of this image
     */
    'source': string;
}
/**
 * Embedded link preview data
 */
export interface MessageLinkPreviewProperties {
    /**
     * Description of this link preview
     */
    'description'?: string;
    'image': MessageLinkPreviewImageProperties;
    /**
     * The name of the site linked
     */
    'site_name'?: string;
    /**
     * The title of this link
     */
    'title': string;
    /**
     * The URL of the link being previewed
     */
    'url': string;
}
/**
 * Link previews in this message
 */
export interface MessageLinkProperties {
    /**
     * The ending index of this link within the message
     */
    'end_position': number;
    'preview'?: MessageLinkPreviewProperties;
    /**
     * The href of the URL this message link represents
     */
    'source': string;
    /**
     * The starting index of this link within the message
     */
    'start_position': number;
}
/**
 * Channel properties embedded in channel mentions
 */
export interface MessageMentionChannelProperties {
    /**
     * The type of this channel
     */
    'type': MessageMentionChannelPropertiesTypeEnum;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * The ISO date-time this channel was created
     */
    'created_time': string;
    'creator'?: ChatUserProperties;
    /**
     * Human readable name of this channel shown to users. Present if this is a group channel
     */
    'display_name'?: string;
    /**
     * The unique name of this channel used to reference the channel. Present if this is a group channel
     */
    'name'?: string;
    /**
     * Custom data associated with this channel
     */
    'properties': {
        [key: string]: object;
    };
}
export declare const MessageMentionChannelPropertiesTypeEnum: {
    readonly Direct: "DIRECT";
    readonly Public: "PUBLIC";
    readonly Private: "PRIVATE";
};
export type MessageMentionChannelPropertiesTypeEnum = typeof MessageMentionChannelPropertiesTypeEnum[keyof typeof MessageMentionChannelPropertiesTypeEnum];
/**
 * Mentions in this message
 */
export interface MessageMentionProperties {
    /**
     * The type of this message mention
     */
    'type': MessageMentionPropertiesTypeEnum;
    /**
     * The ending position of this mention reference inside its message
     */
    'end_position': number;
    /**
     * The starting position of this mention reference inside its message
     */
    'start_position': number;
    /**
     * The literal text referencing the mentioned entity inside the message
     */
    'tag': string;
}
export declare const MessageMentionPropertiesTypeEnum: {
    readonly Channel: "CHANNEL";
    readonly User: "USER";
};
export type MessageMentionPropertiesTypeEnum = typeof MessageMentionPropertiesTypeEnum[keyof typeof MessageMentionPropertiesTypeEnum];
export interface MessageProperties {
    /**
     * The type of this message
     */
    'type': MessagePropertiesTypeEnum;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * The ID of the channel this message belongs to
     */
    'channel_id': number;
    /**
     * The time this message was created
     */
    'created_time': string;
    /**
     * Optional string to associate this message with other messages. Can be used to group messages into a gallery
     */
    'group_tag'?: string;
    /**
     * The time this message was last edited
     */
    'last_edited_time'?: string;
    /**
     * The nested thread level of this message
     */
    'nested_level': number;
    /**
     * Custom data associated with this message
     */
    'properties': {
        [key: string]: object;
    };
    /**
     * Reactions to this message
     */
    'reactions'?: Array<MessageReactionsSummaryProperties>;
    /**
     * The number of replies to this message
     */
    'replies_count'?: number;
    /**
     * The number of times this message has been reported
     */
    'report_count'?: number;
}
export declare const MessagePropertiesTypeEnum: {
    readonly Text: "TEXT";
    readonly File: "FILE";
    readonly SystemText: "SYSTEM_TEXT";
    readonly SystemFile: "SYSTEM_FILE";
};
export type MessagePropertiesTypeEnum = typeof MessagePropertiesTypeEnum[keyof typeof MessagePropertiesTypeEnum];
/**
 * Reactions to this message
 */
export interface MessageReactionsSummaryProperties {
    /**
     * The number of users that reacted with this emoji
     */
    'count': number;
    'emoji': EmojiProperties;
    /**
     * The users that reacted with this emoji
     */
    'users': Array<ChatUserProperties>;
}
export interface MessageReadReceiptResource {
    /**
     * Time the user read this message
     */
    'created_time': string;
    'user': ChatUserProperties;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export interface MessageReadReceiptSummaryResource {
    'channel': ChannelProperties;
    /**
     * Number of unread messages
     */
    'count': number;
    'user': ChatUserProperties;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
/**
 * @type MessageResource
 */
export type MessageResource = {
    type: 'FILE';
} & FileChatUserMessageResource | {
    type: 'SYSTEM_FILE';
} & FileSystemMessageResource | {
    type: 'SYSTEM_TEXT';
} & TextSystemMessageResource | {
    type: 'TEXT';
} & TextChatUserMessageResource;
/**
 * Additional context data of this notification
 */
export interface NotificationData {
    /**
     * The type of notification that was received. This specifies the schema of the notification data
     */
    'type': string;
}
export interface NotificationResource {
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * The text body of this notification
     */
    'body': string;
    'channel'?: ChannelProperties;
    /**
     * Time this notification was created
     */
    'created_time': string;
    'data': NotificationData;
    /**
     * True if this notification should be muted
     */
    'muted': boolean;
    /**
     * Time this notification was read
     */
    'read_time'?: string;
    /**
     * The title of this notification
     */
    'title': string;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export interface PageMetadata {
    'number'?: number;
    'size'?: number;
    'total_elements'?: number;
    'total_pages'?: number;
}
export interface Pageable {
    'page'?: number;
    'size'?: number;
    'sort'?: Array<string>;
}
export interface PagedModelApplicationJobResource {
    '_embedded'?: PagedModelApplicationJobResourceEmbedded;
    'page'?: PageMetadata;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export interface PagedModelApplicationJobResourceEmbedded {
    'jobs'?: Array<ApplicationJobResource>;
}
export interface PagedModelChannelInviteResource {
    '_embedded'?: PagedModelChannelInviteResourceEmbedded;
    'page'?: PageMetadata;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export interface PagedModelChannelInviteResourceEmbedded {
    'invites'?: Array<ChannelInviteResource>;
}
export interface PagedModelChannelMembershipResource {
    '_embedded'?: PagedModelChannelMembershipResourceEmbedded;
    'page'?: PageMetadata;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export interface PagedModelChannelMembershipResourceEmbedded {
    'memberships'?: Array<ChannelMembershipResource>;
}
export interface PagedModelChannelResource {
    '_embedded'?: PagedModelChannelResourceEmbedded;
    'page'?: PageMetadata;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export interface PagedModelChannelResourceEmbedded {
    'channels'?: Array<ChannelResource>;
}
export interface PagedModelChatFunctionInvocationResource {
    '_embedded'?: PagedModelChatFunctionInvocationResourceEmbedded;
    'page'?: PageMetadata;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export interface PagedModelChatFunctionInvocationResourceEmbedded {
    'invocations'?: Array<ChatFunctionInvocationResource>;
}
export interface PagedModelChatFunctionResource {
    '_embedded'?: PagedModelChatFunctionResourceEmbedded;
    'page'?: PageMetadata;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export interface PagedModelChatFunctionResourceEmbedded {
    'functions'?: Array<ChatFunctionResource>;
}
export interface PagedModelChatFunctionVersionResource {
    '_embedded'?: PagedModelChatFunctionVersionResourceEmbedded;
    'page'?: PageMetadata;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export interface PagedModelChatFunctionVersionResourceEmbedded {
    'versions'?: Array<ChatFunctionVersionResource>;
}
export interface PagedModelChatSessionResource {
    '_embedded'?: PagedModelChatSessionResourceEmbedded;
    'page'?: PageMetadata;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export interface PagedModelChatSessionResourceEmbedded {
    'sessions'?: Array<ChatSessionResource>;
}
export interface PagedModelChatUserResource {
    '_embedded'?: PagedModelChatUserResourceEmbedded;
    'page'?: PageMetadata;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export interface PagedModelChatUserResourceEmbedded {
    'users'?: Array<ChatUserResource>;
}
export interface PagedModelChatUserSessionResource {
    '_embedded'?: PagedModelChatUserSessionResourceEmbedded;
    'page'?: PageMetadata;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export interface PagedModelChatUserSessionResourceEmbedded {
    'sessions'?: Array<ChatUserSessionResource>;
}
export interface PagedModelMessageReadReceiptResource {
    '_embedded'?: PagedModelMessageReadReceiptResourceEmbedded;
    'page'?: PageMetadata;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export interface PagedModelMessageReadReceiptResourceEmbedded {
    'receipts'?: Array<MessageReadReceiptResource>;
}
export interface PagedModelMessageReadReceiptSummaryResource {
    '_embedded'?: PagedModelMessageReadReceiptSummaryResourceEmbedded;
    'page'?: PageMetadata;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export interface PagedModelMessageReadReceiptSummaryResourceEmbedded {
    'summaries'?: Array<MessageReadReceiptSummaryResource>;
}
export interface PagedModelMessageResource {
    '_embedded'?: CursorPagedModelMessageResourceEmbedded;
    'page'?: PageMetadata;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
/**
 * Imports a private channel
 */
export interface PrivateChannelImport extends ChannelImport {
    /**
     * The unique name of this channel used to reference the channel. If absent defaults to a random UUID
     */
    'name'?: string;
    /**
     * Human readable name of this channel shown to users. If absent defaults to the channel name
     */
    'display_name'?: string;
}
/**
 * A private channel
 */
export interface PrivateChannelProperties {
    /**
     * The type of this channel
     */
    'type': PrivateChannelPropertiesTypeEnum;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * The ISO date-time this channel was created
     */
    'created_time': string;
    'creator'?: ChatUserProperties;
    'last_received_message'?: MessageProperties;
    /**
     * Custom data associated with this channel
     */
    'properties': {
        [key: string]: object;
    };
    /**
     * Human readable name of this channel shown to users
     */
    'display_name': string;
    /**
     * The unique name of this channel used to reference the channel
     */
    'name': string;
}
export declare const PrivateChannelPropertiesTypeEnum: {
    readonly Direct: "DIRECT";
    readonly Public: "PUBLIC";
    readonly Private: "PRIVATE";
};
export type PrivateChannelPropertiesTypeEnum = typeof PrivateChannelPropertiesTypeEnum[keyof typeof PrivateChannelPropertiesTypeEnum];
export interface PrivateChannelResource {
    /**
     * The type of this channel
     */
    'type': PrivateChannelResourceTypeEnum;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * The ISO date-time this channel was created
     */
    'created_time': string;
    'creator'?: ChatUserProperties;
    /**
     * Human readable name of this channel shown to users
     */
    'display_name': string;
    'last_received_message'?: MessageProperties;
    /**
     * The unique name of this channel used to reference the channel
     */
    'name': string;
    /**
     * Custom data associated with this channel
     */
    'properties': {
        [key: string]: object;
    };
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export declare const PrivateChannelResourceTypeEnum: {
    readonly Direct: "DIRECT";
    readonly Public: "PUBLIC";
    readonly Private: "PRIVATE";
};
export type PrivateChannelResourceTypeEnum = typeof PrivateChannelResourceTypeEnum[keyof typeof PrivateChannelResourceTypeEnum];
/**
 * Imports a public channel
 */
export interface PublicChannelImport extends ChannelImport {
    /**
     * The unique name of this channel used to reference the channel. If absent defaults to a random UUID
     */
    'name'?: string;
    /**
     * Human readable name of this channel shown to users. If absent defaults to the channel name
     */
    'display_name'?: string;
}
/**
 * A public channel
 */
export interface PublicChannelProperties {
    /**
     * The type of this channel
     */
    'type': PublicChannelPropertiesTypeEnum;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * The ISO date-time this channel was created
     */
    'created_time': string;
    'creator'?: ChatUserProperties;
    'last_received_message'?: MessageProperties;
    /**
     * Custom data associated with this channel
     */
    'properties': {
        [key: string]: object;
    };
    /**
     * Human readable name of this channel shown to users
     */
    'display_name': string;
    /**
     * The unique name of this channel used to reference the channel
     */
    'name': string;
}
export declare const PublicChannelPropertiesTypeEnum: {
    readonly Direct: "DIRECT";
    readonly Public: "PUBLIC";
    readonly Private: "PRIVATE";
};
export type PublicChannelPropertiesTypeEnum = typeof PublicChannelPropertiesTypeEnum[keyof typeof PublicChannelPropertiesTypeEnum];
export interface PublicChannelResource {
    /**
     * The type of this channel
     */
    'type': PublicChannelResourceTypeEnum;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * The ISO date-time this channel was created
     */
    'created_time': string;
    'creator'?: ChatUserProperties;
    /**
     * Human readable name of this channel shown to users
     */
    'display_name': string;
    'last_received_message'?: MessageProperties;
    /**
     * The unique name of this channel used to reference the channel
     */
    'name': string;
    /**
     * Custom data associated with this channel
     */
    'properties': {
        [key: string]: object;
    };
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export declare const PublicChannelResourceTypeEnum: {
    readonly Direct: "DIRECT";
    readonly Public: "PUBLIC";
    readonly Private: "PRIVATE";
};
export type PublicChannelResourceTypeEnum = typeof PublicChannelResourceTypeEnum[keyof typeof PublicChannelResourceTypeEnum];
export interface ReplyThreadKeystrokesResource {
    'keys': string;
    'username': string;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export interface ReplyThreadResource {
    /**
     * The type of this thread
     */
    'type': ReplyThreadResourceTypeEnum;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * The ISO date-time this thread was created
     */
    'created_time': string;
    /**
     * The name of this thread
     */
    'name'?: string;
    /**
     * Custom data associated with this thread
     */
    'properties': {
        [key: string]: object;
    };
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export declare const ReplyThreadResourceTypeEnum: {
    readonly Main: "MAIN";
    readonly Standalone: "STANDALONE";
    readonly Message: "MESSAGE";
};
export type ReplyThreadResourceTypeEnum = typeof ReplyThreadResourceTypeEnum[keyof typeof ReplyThreadResourceTypeEnum];
export interface SecretResource {
    /**
     * Secret value
     */
    'secret'?: object;
}
/**
 * @type SystemMessageResource
 * The message that was sent
 */
export type SystemMessageResource = {
    type: 'SYSTEM_FILE';
} & FileSystemMessageResource | {
    type: 'SYSTEM_TEXT';
} & TextSystemMessageResource;
/**
 * Imports a user text message
 */
export interface TextChatUserMessageImport extends MessageImport {
    /**
     * The text body of this message
     */
    'body': string;
    /**
     * Username of the user who sent this message
     */
    'user': string;
}
/**
 * A text message sent by or behalf of a user
 */
export interface TextChatUserMessageProperties {
    /**
     * The type of this message
     */
    'type': TextChatUserMessagePropertiesTypeEnum;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * The ID of the channel this message belongs to
     */
    'channel_id': number;
    /**
     * The time this message was created
     */
    'created_time': string;
    /**
     * Optional string to associate this message with other messages. Can be used to group messages into a gallery
     */
    'group_tag'?: string;
    /**
     * The time this message was last edited
     */
    'last_edited_time'?: string;
    /**
     * The nested thread level of this message
     */
    'nested_level': number;
    /**
     * Custom data associated with this message
     */
    'properties': {
        [key: string]: object;
    };
    /**
     * Reactions to this message
     */
    'reactions'?: Array<MessageReactionsSummaryProperties>;
    /**
     * The number of replies to this message
     */
    'replies_count'?: number;
    /**
     * The number of times this message has been reported
     */
    'report_count'?: number;
    /**
     * The text body of this message
     */
    'body': string;
    /**
     * Link previews in this message
     */
    'links'?: Array<MessageLinkProperties>;
    /**
     * Mentions in this message
     */
    'mentions'?: Array<MessageMentionProperties>;
    'user': ChatUserProperties;
}
export declare const TextChatUserMessagePropertiesTypeEnum: {
    readonly Text: "TEXT";
    readonly File: "FILE";
    readonly SystemText: "SYSTEM_TEXT";
    readonly SystemFile: "SYSTEM_FILE";
};
export type TextChatUserMessagePropertiesTypeEnum = typeof TextChatUserMessagePropertiesTypeEnum[keyof typeof TextChatUserMessagePropertiesTypeEnum];
export interface TextChatUserMessageResource {
    /**
     * The type of this message
     */
    'type': TextChatUserMessageResourceTypeEnum;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * The text body of this message
     */
    'body': string;
    /**
     * The ID of the channel this message belongs to
     */
    'channel_id': number;
    /**
     * The time this message was created
     */
    'created_time': string;
    /**
     * Optional string to associate this message with other messages. Can be used to group messages into a gallery
     */
    'group_tag'?: string;
    /**
     * The time this message was last edited
     */
    'last_edited_time'?: string;
    /**
     * Link previews in this message
     */
    'links'?: Array<MessageLinkProperties>;
    /**
     * Mentions in this message
     */
    'mentions'?: Array<MessageMentionProperties>;
    /**
     * The nested thread level of this message
     */
    'nested_level': number;
    /**
     * Custom data associated with this message
     */
    'properties': {
        [key: string]: object;
    };
    /**
     * Reactions to this message
     */
    'reactions'?: Array<MessageReactionsSummaryProperties>;
    /**
     * The number of replies to this message
     */
    'replies_count'?: number;
    /**
     * The number of times this message has been reported
     */
    'report_count'?: number;
    'user': ChatUserProperties;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export declare const TextChatUserMessageResourceTypeEnum: {
    readonly Text: "TEXT";
    readonly File: "FILE";
    readonly SystemText: "SYSTEM_TEXT";
    readonly SystemFile: "SYSTEM_FILE";
};
export type TextChatUserMessageResourceTypeEnum = typeof TextChatUserMessageResourceTypeEnum[keyof typeof TextChatUserMessageResourceTypeEnum];
export interface TextMessageImport {
    /**
     * The text body of this message
     */
    'body': string;
    /**
     * ID of the channel this message belongs to
     */
    'channel_id': number;
    /**
     * Tag identifying the message group this message belongs to
     */
    'group_tag'?: string;
    /**
     * Unique value generated by the client which ChatKitty uses to recognize subsequent retries of the same request. Optional but recommended
     */
    'idempotency_key'?: string;
    /**
     * Map of custom data attached to this message
     */
    'properties'?: {
        [key: string]: object;
    };
}
export interface TextMessageProperties extends MessageProperties {
    /**
     * The text body of this message
     */
    'body': string;
    /**
     * Link previews in this message
     */
    'links'?: Array<MessageLinkProperties>;
    /**
     * Mentions in this message
     */
    'mentions'?: Array<MessageMentionProperties>;
}
/**
 * @type TextMessageResource
 * The message in which the user was mentioned
 */
export type TextMessageResource = {
    type: 'SYSTEM_TEXT';
} & TextSystemMessageResource | {
    type: 'TEXT';
} & TextChatUserMessageResource;
/**
 * Imports a system text message
 */
export interface TextSystemMessageImport extends MessageImport {
    /**
     * The text body of this message
     */
    'body': string;
}
/**
 * A text message sent by this application itself. Used for systems announcements independent of any user
 */
export interface TextSystemMessageProperties {
    /**
     * The type of this message
     */
    'type': TextSystemMessagePropertiesTypeEnum;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * The ID of the channel this message belongs to
     */
    'channel_id': number;
    /**
     * The time this message was created
     */
    'created_time': string;
    /**
     * Optional string to associate this message with other messages. Can be used to group messages into a gallery
     */
    'group_tag'?: string;
    /**
     * The time this message was last edited
     */
    'last_edited_time'?: string;
    /**
     * The nested thread level of this message
     */
    'nested_level': number;
    /**
     * Custom data associated with this message
     */
    'properties': {
        [key: string]: object;
    };
    /**
     * Reactions to this message
     */
    'reactions'?: Array<MessageReactionsSummaryProperties>;
    /**
     * The number of replies to this message
     */
    'replies_count'?: number;
    /**
     * The number of times this message has been reported
     */
    'report_count'?: number;
    /**
     * The text body of this message
     */
    'body': string;
    /**
     * Link previews in this message
     */
    'links'?: Array<MessageLinkProperties>;
    /**
     * Mentions in this message
     */
    'mentions'?: Array<MessageMentionProperties>;
}
export declare const TextSystemMessagePropertiesTypeEnum: {
    readonly Text: "TEXT";
    readonly File: "FILE";
    readonly SystemText: "SYSTEM_TEXT";
    readonly SystemFile: "SYSTEM_FILE";
};
export type TextSystemMessagePropertiesTypeEnum = typeof TextSystemMessagePropertiesTypeEnum[keyof typeof TextSystemMessagePropertiesTypeEnum];
export interface TextSystemMessageResource {
    /**
     * The type of this message
     */
    'type': TextSystemMessageResourceTypeEnum;
    /**
     * 64-bit integer identifier associated with this resource
     */
    'id': number;
    /**
     * The text body of this message
     */
    'body': string;
    /**
     * The ID of the channel this message belongs to
     */
    'channel_id': number;
    /**
     * The time this message was created
     */
    'created_time': string;
    /**
     * Optional string to associate this message with other messages. Can be used to group messages into a gallery
     */
    'group_tag'?: string;
    /**
     * The time this message was last edited
     */
    'last_edited_time'?: string;
    /**
     * Link previews in this message
     */
    'links'?: Array<MessageLinkProperties>;
    /**
     * Mentions in this message
     */
    'mentions'?: Array<MessageMentionProperties>;
    /**
     * The nested thread level of this message
     */
    'nested_level': number;
    /**
     * Custom data associated with this message
     */
    'properties': {
        [key: string]: object;
    };
    /**
     * Reactions to this message
     */
    'reactions'?: Array<MessageReactionsSummaryProperties>;
    /**
     * The number of replies to this message
     */
    'replies_count'?: number;
    /**
     * The number of times this message has been reported
     */
    'report_count'?: number;
    /**
     * Hypermedia control links for this resource
     */
    '_links'?: Array<Link>;
}
export declare const TextSystemMessageResourceTypeEnum: {
    readonly Text: "TEXT";
    readonly File: "FILE";
    readonly SystemText: "SYSTEM_TEXT";
    readonly SystemFile: "SYSTEM_FILE";
};
export type TextSystemMessageResourceTypeEnum = typeof TextSystemMessageResourceTypeEnum[keyof typeof TextSystemMessageResourceTypeEnum];
/**
 * AnalyticsApi - axios parameter creator
 */
export declare const AnalyticsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Batch export message analytics data
     * @summary Export message analytics
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    exportMessageAnalytics: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Batch export user analytics data
     * @summary Export user analytics
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    exportUserAnalytics: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * AnalyticsApi - functional programming interface
 */
export declare const AnalyticsApiFp: (configuration?: Configuration) => {
    /**
     * Batch export message analytics data
     * @summary Export message analytics
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    exportMessageAnalytics(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApplicationJobResource>>;
    /**
     * Batch export user analytics data
     * @summary Export user analytics
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    exportUserAnalytics(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApplicationJobResource>>;
};
/**
 * AnalyticsApi - factory interface
 */
export declare const AnalyticsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Batch export message analytics data
     * @summary Export message analytics
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    exportMessageAnalytics(options?: RawAxiosRequestConfig): AxiosPromise<ApplicationJobResource>;
    /**
     * Batch export user analytics data
     * @summary Export user analytics
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    exportUserAnalytics(options?: RawAxiosRequestConfig): AxiosPromise<ApplicationJobResource>;
};
/**
 * AnalyticsApi - object-oriented interface
 */
export declare class AnalyticsApi extends BaseAPI {
    /**
     * Batch export message analytics data
     * @summary Export message analytics
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    exportMessageAnalytics(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ApplicationJobResource, any, {}>>;
    /**
     * Batch export user analytics data
     * @summary Export user analytics
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    exportUserAnalytics(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ApplicationJobResource, any, {}>>;
}
/**
 * ApplicationApi - axios parameter creator
 */
export declare const ApplicationApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Returns the ChatKitty application associated with the authentication credentials used.  You must use an **OAuth V2 Bearer token** to access this endpoint.
     * @summary Retrieve the authenticated application
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveApplication: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns the message read receipt summaries for the authenticated application
     * @summary Retrieve the authenticated application message read receipt summaries
     * @param {Pageable} pageable
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveApplicationMessageReadReceiptSummaries: (pageable: Pageable, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns the current settings configuring this application
     * @summary Retrieve the authenticated application settings
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveApplicationSettings: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Update the settings configuring this application
     * @summary Update the authenticated application settings
     * @param {ApplicationSettingsResource} applicationSettingsResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateApplicationSettings: (applicationSettingsResource: ApplicationSettingsResource, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * ApplicationApi - functional programming interface
 */
export declare const ApplicationApiFp: (configuration?: Configuration) => {
    /**
     * Returns the ChatKitty application associated with the authentication credentials used.  You must use an **OAuth V2 Bearer token** to access this endpoint.
     * @summary Retrieve the authenticated application
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveApplication(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApplicationResource>>;
    /**
     * Returns the message read receipt summaries for the authenticated application
     * @summary Retrieve the authenticated application message read receipt summaries
     * @param {Pageable} pageable
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveApplicationMessageReadReceiptSummaries(pageable: Pageable, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PagedModelMessageReadReceiptSummaryResource>>;
    /**
     * Returns the current settings configuring this application
     * @summary Retrieve the authenticated application settings
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveApplicationSettings(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApplicationSettingsResource>>;
    /**
     * Update the settings configuring this application
     * @summary Update the authenticated application settings
     * @param {ApplicationSettingsResource} applicationSettingsResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateApplicationSettings(applicationSettingsResource: ApplicationSettingsResource, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApplicationSettingsResource>>;
};
/**
 * ApplicationApi - factory interface
 */
export declare const ApplicationApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Returns the ChatKitty application associated with the authentication credentials used.  You must use an **OAuth V2 Bearer token** to access this endpoint.
     * @summary Retrieve the authenticated application
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveApplication(options?: RawAxiosRequestConfig): AxiosPromise<ApplicationResource>;
    /**
     * Returns the message read receipt summaries for the authenticated application
     * @summary Retrieve the authenticated application message read receipt summaries
     * @param {Pageable} pageable
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveApplicationMessageReadReceiptSummaries(pageable: Pageable, options?: RawAxiosRequestConfig): AxiosPromise<PagedModelMessageReadReceiptSummaryResource>;
    /**
     * Returns the current settings configuring this application
     * @summary Retrieve the authenticated application settings
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveApplicationSettings(options?: RawAxiosRequestConfig): AxiosPromise<ApplicationSettingsResource>;
    /**
     * Update the settings configuring this application
     * @summary Update the authenticated application settings
     * @param {ApplicationSettingsResource} applicationSettingsResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateApplicationSettings(applicationSettingsResource: ApplicationSettingsResource, options?: RawAxiosRequestConfig): AxiosPromise<ApplicationSettingsResource>;
};
/**
 * ApplicationApi - object-oriented interface
 */
export declare class ApplicationApi extends BaseAPI {
    /**
     * Returns the ChatKitty application associated with the authentication credentials used.  You must use an **OAuth V2 Bearer token** to access this endpoint.
     * @summary Retrieve the authenticated application
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveApplication(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ApplicationResource, any, {}>>;
    /**
     * Returns the message read receipt summaries for the authenticated application
     * @summary Retrieve the authenticated application message read receipt summaries
     * @param {Pageable} pageable
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveApplicationMessageReadReceiptSummaries(pageable: Pageable, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PagedModelMessageReadReceiptSummaryResource, any, {}>>;
    /**
     * Returns the current settings configuring this application
     * @summary Retrieve the authenticated application settings
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveApplicationSettings(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ApplicationSettingsResource, any, {}>>;
    /**
     * Update the settings configuring this application
     * @summary Update the authenticated application settings
     * @param {ApplicationSettingsResource} applicationSettingsResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateApplicationSettings(applicationSettingsResource: ApplicationSettingsResource, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ApplicationSettingsResource, any, {}>>;
}
/**
 * ChannelsApi - axios parameter creator
 */
export declare const ChannelsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Makes a user a group channel member
     * @summary Add a channel member
     * @param {number} id Channel ID
     * @param {object} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    addChannelMember: (id: number, body: object, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Makes a user a group channel moderator
     * @summary Add a channel moderator
     * @param {number} id Channel ID
     * @param {object} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    addChannelModerator: (id: number, body: object, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Creates a new channel or returns an equivalent existing channel
     * @summary Create a channel
     * @param {CreateChannelResource} createChannelResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createChannel: (createChannelResource: CreateChannelResource, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Deletes a channel by ID
     * @summary Delete a channel
     * @param {number} id Channel ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteChannel: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a page of invites sent to join this channel
     * @summary List channel invites
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelInvites: (id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a page of channel members
     * @summary List a channel\'s members
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelMembers: (id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a page of channel membership info for this channel
     * @summary List channel memberships
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelMemberships: (id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a page of messages sent in this channel
     * @summary List channel messages
     * @param {number} id Channel ID
     * @param {number} [size] The size of the page to be returned
     * @param {number} [start] Start cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {number} [next] Next page cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch subsequent pages
     * @param {ListChannelMessagesRelationEnum} [relation] Page cursor relation. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {string} [username]
     * @param {string} [query]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelMessages: (id: number, size?: number, start?: number, next?: number, relation?: ListChannelMessagesRelationEnum, username?: string, query?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a page of channel moderators
     * @summary Lists a channel\'s moderators
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelModerators: (id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a page of channel active participants: members that currently online
     * @summary List channel participants
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelParticipants: (id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a page of reported messages in this channel
     * @summary List channel reported messages
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelReportedMessages: (id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a page of channels belonging to this application
     * @summary List channels
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {ListChannelsTypeEnum} [type] Filters by channel type
     * @param {Set<string>} [members] Filters by channel members using their usernames
     * @param {string} [startTime] Filters for channels created within a time range: start time
     * @param {string} [endTime] Filters for channels created within a time range: end time
     * @param {string} [properties] Filters by channel custom properties
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannels: (page?: number, size?: number, sort?: Array<string>, type?: ListChannelsTypeEnum, members?: Set<string>, startTime?: string, endTime?: string, properties?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Removes a member from a group channel
     * @summary Remove a channel member
     * @param {number} id Channel ID
     * @param {number} userId User ID of member to be removed
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    removeChannelMember: (id: number, userId: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Removes a moderator from a group channel
     * @summary Remove a channel moderator
     * @param {number} id Channel ID
     * @param {number} userId User ID of moderator to be removed
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    removeChannelModerator: (id: number, userId: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a channel by ID
     * @summary Retrieve a channel
     * @param {number} id Channel ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveChannel: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Sends a custom channel event
     * @summary Send a channel event
     * @param {number} id Channel ID
     * @param {CreateChannelGenericEventResource} createChannelGenericEventResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendChannelEvent: (id: number, createChannelGenericEventResource: CreateChannelGenericEventResource, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Sends a channel invite to user
     * @summary Send a channel invite
     * @param {number} id Channel ID
     * @param {CreateChannelInviteResource} createChannelInviteResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendChannelInvite: (id: number, createChannelInviteResource: CreateChannelInviteResource, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Sends keystrokes in this channel on behalf of a user
     * @summary Send channel keystrokes
     * @param {number} id
     * @param {CreateDelegatedReplyThreadKeystrokesResource} createDelegatedReplyThreadKeystrokesResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendChannelKeystrokes: (id: number, createDelegatedReplyThreadKeystrokesResource: CreateDelegatedReplyThreadKeystrokesResource, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Sends a message in this channel as the system or on behalf of a user
     * @summary Send a channel message
     * @param {number} id Channel ID
     * @param {CreateMessageResource} createMessageResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendChannelMessage: (id: number, createMessageResource: CreateMessageResource, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Updates a channel properties
     * @summary Update a channel
     * @param {number} id Channel ID
     * @param {object} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateChannel: (id: number, body?: object, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * ChannelsApi - functional programming interface
 */
export declare const ChannelsApiFp: (configuration?: Configuration) => {
    /**
     * Makes a user a group channel member
     * @summary Add a channel member
     * @param {number} id Channel ID
     * @param {object} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    addChannelMember(id: number, body: object, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChannelResource>>;
    /**
     * Makes a user a group channel moderator
     * @summary Add a channel moderator
     * @param {number} id Channel ID
     * @param {object} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    addChannelModerator(id: number, body: object, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChatUserResource>>;
    /**
     * Creates a new channel or returns an equivalent existing channel
     * @summary Create a channel
     * @param {CreateChannelResource} createChannelResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createChannel(createChannelResource: CreateChannelResource, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChannelResource>>;
    /**
     * Deletes a channel by ID
     * @summary Delete a channel
     * @param {number} id Channel ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteChannel(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApplicationResource>>;
    /**
     * Returns a page of invites sent to join this channel
     * @summary List channel invites
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelInvites(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PagedModelChannelInviteResource>>;
    /**
     * Returns a page of channel members
     * @summary List a channel\'s members
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelMembers(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PagedModelChatUserResource>>;
    /**
     * Returns a page of channel membership info for this channel
     * @summary List channel memberships
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelMemberships(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PagedModelChannelMembershipResource>>;
    /**
     * Returns a page of messages sent in this channel
     * @summary List channel messages
     * @param {number} id Channel ID
     * @param {number} [size] The size of the page to be returned
     * @param {number} [start] Start cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {number} [next] Next page cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch subsequent pages
     * @param {ListChannelMessagesRelationEnum} [relation] Page cursor relation. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {string} [username]
     * @param {string} [query]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelMessages(id: number, size?: number, start?: number, next?: number, relation?: ListChannelMessagesRelationEnum, username?: string, query?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CursorPagedModelMessageResource>>;
    /**
     * Returns a page of channel moderators
     * @summary Lists a channel\'s moderators
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelModerators(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PagedModelChatUserResource>>;
    /**
     * Returns a page of channel active participants: members that currently online
     * @summary List channel participants
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelParticipants(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PagedModelChatUserResource>>;
    /**
     * Returns a page of reported messages in this channel
     * @summary List channel reported messages
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelReportedMessages(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PagedModelMessageResource>>;
    /**
     * Returns a page of channels belonging to this application
     * @summary List channels
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {ListChannelsTypeEnum} [type] Filters by channel type
     * @param {Set<string>} [members] Filters by channel members using their usernames
     * @param {string} [startTime] Filters for channels created within a time range: start time
     * @param {string} [endTime] Filters for channels created within a time range: end time
     * @param {string} [properties] Filters by channel custom properties
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannels(page?: number, size?: number, sort?: Array<string>, type?: ListChannelsTypeEnum, members?: Set<string>, startTime?: string, endTime?: string, properties?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PagedModelChannelResource>>;
    /**
     * Removes a member from a group channel
     * @summary Remove a channel member
     * @param {number} id Channel ID
     * @param {number} userId User ID of member to be removed
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    removeChannelMember(id: number, userId: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChannelResource>>;
    /**
     * Removes a moderator from a group channel
     * @summary Remove a channel moderator
     * @param {number} id Channel ID
     * @param {number} userId User ID of moderator to be removed
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    removeChannelModerator(id: number, userId: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChannelResource>>;
    /**
     * Returns a channel by ID
     * @summary Retrieve a channel
     * @param {number} id Channel ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveChannel(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChannelResource>>;
    /**
     * Sends a custom channel event
     * @summary Send a channel event
     * @param {number} id Channel ID
     * @param {CreateChannelGenericEventResource} createChannelGenericEventResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendChannelEvent(id: number, createChannelGenericEventResource: CreateChannelGenericEventResource, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChannelGenericEventResource>>;
    /**
     * Sends a channel invite to user
     * @summary Send a channel invite
     * @param {number} id Channel ID
     * @param {CreateChannelInviteResource} createChannelInviteResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendChannelInvite(id: number, createChannelInviteResource: CreateChannelInviteResource, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChannelInviteResource>>;
    /**
     * Sends keystrokes in this channel on behalf of a user
     * @summary Send channel keystrokes
     * @param {number} id
     * @param {CreateDelegatedReplyThreadKeystrokesResource} createDelegatedReplyThreadKeystrokesResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendChannelKeystrokes(id: number, createDelegatedReplyThreadKeystrokesResource: CreateDelegatedReplyThreadKeystrokesResource, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ReplyThreadKeystrokesResource>>;
    /**
     * Sends a message in this channel as the system or on behalf of a user
     * @summary Send a channel message
     * @param {number} id Channel ID
     * @param {CreateMessageResource} createMessageResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendChannelMessage(id: number, createMessageResource: CreateMessageResource, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MessageResource>>;
    /**
     * Updates a channel properties
     * @summary Update a channel
     * @param {number} id Channel ID
     * @param {object} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateChannel(id: number, body?: object, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChannelResource>>;
};
/**
 * ChannelsApi - factory interface
 */
export declare const ChannelsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Makes a user a group channel member
     * @summary Add a channel member
     * @param {number} id Channel ID
     * @param {object} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    addChannelMember(id: number, body: object, options?: RawAxiosRequestConfig): AxiosPromise<ChannelResource>;
    /**
     * Makes a user a group channel moderator
     * @summary Add a channel moderator
     * @param {number} id Channel ID
     * @param {object} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    addChannelModerator(id: number, body: object, options?: RawAxiosRequestConfig): AxiosPromise<ChatUserResource>;
    /**
     * Creates a new channel or returns an equivalent existing channel
     * @summary Create a channel
     * @param {CreateChannelResource} createChannelResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createChannel(createChannelResource: CreateChannelResource, options?: RawAxiosRequestConfig): AxiosPromise<ChannelResource>;
    /**
     * Deletes a channel by ID
     * @summary Delete a channel
     * @param {number} id Channel ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteChannel(id: number, options?: RawAxiosRequestConfig): AxiosPromise<ApplicationResource>;
    /**
     * Returns a page of invites sent to join this channel
     * @summary List channel invites
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelInvites(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): AxiosPromise<PagedModelChannelInviteResource>;
    /**
     * Returns a page of channel members
     * @summary List a channel\'s members
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelMembers(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): AxiosPromise<PagedModelChatUserResource>;
    /**
     * Returns a page of channel membership info for this channel
     * @summary List channel memberships
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelMemberships(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): AxiosPromise<PagedModelChannelMembershipResource>;
    /**
     * Returns a page of messages sent in this channel
     * @summary List channel messages
     * @param {number} id Channel ID
     * @param {number} [size] The size of the page to be returned
     * @param {number} [start] Start cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {number} [next] Next page cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch subsequent pages
     * @param {ListChannelMessagesRelationEnum} [relation] Page cursor relation. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {string} [username]
     * @param {string} [query]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelMessages(id: number, size?: number, start?: number, next?: number, relation?: ListChannelMessagesRelationEnum, username?: string, query?: string, options?: RawAxiosRequestConfig): AxiosPromise<CursorPagedModelMessageResource>;
    /**
     * Returns a page of channel moderators
     * @summary Lists a channel\'s moderators
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelModerators(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): AxiosPromise<PagedModelChatUserResource>;
    /**
     * Returns a page of channel active participants: members that currently online
     * @summary List channel participants
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelParticipants(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): AxiosPromise<PagedModelChatUserResource>;
    /**
     * Returns a page of reported messages in this channel
     * @summary List channel reported messages
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelReportedMessages(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): AxiosPromise<PagedModelMessageResource>;
    /**
     * Returns a page of channels belonging to this application
     * @summary List channels
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {ListChannelsTypeEnum} [type] Filters by channel type
     * @param {Set<string>} [members] Filters by channel members using their usernames
     * @param {string} [startTime] Filters for channels created within a time range: start time
     * @param {string} [endTime] Filters for channels created within a time range: end time
     * @param {string} [properties] Filters by channel custom properties
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannels(page?: number, size?: number, sort?: Array<string>, type?: ListChannelsTypeEnum, members?: Set<string>, startTime?: string, endTime?: string, properties?: string, options?: RawAxiosRequestConfig): AxiosPromise<PagedModelChannelResource>;
    /**
     * Removes a member from a group channel
     * @summary Remove a channel member
     * @param {number} id Channel ID
     * @param {number} userId User ID of member to be removed
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    removeChannelMember(id: number, userId: number, options?: RawAxiosRequestConfig): AxiosPromise<ChannelResource>;
    /**
     * Removes a moderator from a group channel
     * @summary Remove a channel moderator
     * @param {number} id Channel ID
     * @param {number} userId User ID of moderator to be removed
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    removeChannelModerator(id: number, userId: number, options?: RawAxiosRequestConfig): AxiosPromise<ChannelResource>;
    /**
     * Returns a channel by ID
     * @summary Retrieve a channel
     * @param {number} id Channel ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveChannel(id: number, options?: RawAxiosRequestConfig): AxiosPromise<ChannelResource>;
    /**
     * Sends a custom channel event
     * @summary Send a channel event
     * @param {number} id Channel ID
     * @param {CreateChannelGenericEventResource} createChannelGenericEventResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendChannelEvent(id: number, createChannelGenericEventResource: CreateChannelGenericEventResource, options?: RawAxiosRequestConfig): AxiosPromise<ChannelGenericEventResource>;
    /**
     * Sends a channel invite to user
     * @summary Send a channel invite
     * @param {number} id Channel ID
     * @param {CreateChannelInviteResource} createChannelInviteResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendChannelInvite(id: number, createChannelInviteResource: CreateChannelInviteResource, options?: RawAxiosRequestConfig): AxiosPromise<ChannelInviteResource>;
    /**
     * Sends keystrokes in this channel on behalf of a user
     * @summary Send channel keystrokes
     * @param {number} id
     * @param {CreateDelegatedReplyThreadKeystrokesResource} createDelegatedReplyThreadKeystrokesResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendChannelKeystrokes(id: number, createDelegatedReplyThreadKeystrokesResource: CreateDelegatedReplyThreadKeystrokesResource, options?: RawAxiosRequestConfig): AxiosPromise<ReplyThreadKeystrokesResource>;
    /**
     * Sends a message in this channel as the system or on behalf of a user
     * @summary Send a channel message
     * @param {number} id Channel ID
     * @param {CreateMessageResource} createMessageResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendChannelMessage(id: number, createMessageResource: CreateMessageResource, options?: RawAxiosRequestConfig): AxiosPromise<MessageResource>;
    /**
     * Updates a channel properties
     * @summary Update a channel
     * @param {number} id Channel ID
     * @param {object} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateChannel(id: number, body?: object, options?: RawAxiosRequestConfig): AxiosPromise<ChannelResource>;
};
/**
 * ChannelsApi - object-oriented interface
 */
export declare class ChannelsApi extends BaseAPI {
    /**
     * Makes a user a group channel member
     * @summary Add a channel member
     * @param {number} id Channel ID
     * @param {object} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    addChannelMember(id: number, body: object, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChannelResource, any, {}>>;
    /**
     * Makes a user a group channel moderator
     * @summary Add a channel moderator
     * @param {number} id Channel ID
     * @param {object} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    addChannelModerator(id: number, body: object, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChatUserResource, any, {}>>;
    /**
     * Creates a new channel or returns an equivalent existing channel
     * @summary Create a channel
     * @param {CreateChannelResource} createChannelResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createChannel(createChannelResource: CreateChannelResource, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChannelResource, any, {}>>;
    /**
     * Deletes a channel by ID
     * @summary Delete a channel
     * @param {number} id Channel ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteChannel(id: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ApplicationResource, any, {}>>;
    /**
     * Returns a page of invites sent to join this channel
     * @summary List channel invites
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelInvites(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PagedModelChannelInviteResource, any, {}>>;
    /**
     * Returns a page of channel members
     * @summary List a channel\'s members
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelMembers(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PagedModelChatUserResource, any, {}>>;
    /**
     * Returns a page of channel membership info for this channel
     * @summary List channel memberships
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelMemberships(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PagedModelChannelMembershipResource, any, {}>>;
    /**
     * Returns a page of messages sent in this channel
     * @summary List channel messages
     * @param {number} id Channel ID
     * @param {number} [size] The size of the page to be returned
     * @param {number} [start] Start cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {number} [next] Next page cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch subsequent pages
     * @param {ListChannelMessagesRelationEnum} [relation] Page cursor relation. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {string} [username]
     * @param {string} [query]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelMessages(id: number, size?: number, start?: number, next?: number, relation?: ListChannelMessagesRelationEnum, username?: string, query?: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CursorPagedModelMessageResource, any, {}>>;
    /**
     * Returns a page of channel moderators
     * @summary Lists a channel\'s moderators
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelModerators(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PagedModelChatUserResource, any, {}>>;
    /**
     * Returns a page of channel active participants: members that currently online
     * @summary List channel participants
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelParticipants(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PagedModelChatUserResource, any, {}>>;
    /**
     * Returns a page of reported messages in this channel
     * @summary List channel reported messages
     * @param {number} id Channel ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannelReportedMessages(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PagedModelMessageResource, any, {}>>;
    /**
     * Returns a page of channels belonging to this application
     * @summary List channels
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {ListChannelsTypeEnum} [type] Filters by channel type
     * @param {Set<string>} [members] Filters by channel members using their usernames
     * @param {string} [startTime] Filters for channels created within a time range: start time
     * @param {string} [endTime] Filters for channels created within a time range: end time
     * @param {string} [properties] Filters by channel custom properties
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChannels(page?: number, size?: number, sort?: Array<string>, type?: ListChannelsTypeEnum, members?: Set<string>, startTime?: string, endTime?: string, properties?: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PagedModelChannelResource, any, {}>>;
    /**
     * Removes a member from a group channel
     * @summary Remove a channel member
     * @param {number} id Channel ID
     * @param {number} userId User ID of member to be removed
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    removeChannelMember(id: number, userId: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChannelResource, any, {}>>;
    /**
     * Removes a moderator from a group channel
     * @summary Remove a channel moderator
     * @param {number} id Channel ID
     * @param {number} userId User ID of moderator to be removed
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    removeChannelModerator(id: number, userId: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChannelResource, any, {}>>;
    /**
     * Returns a channel by ID
     * @summary Retrieve a channel
     * @param {number} id Channel ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveChannel(id: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChannelResource, any, {}>>;
    /**
     * Sends a custom channel event
     * @summary Send a channel event
     * @param {number} id Channel ID
     * @param {CreateChannelGenericEventResource} createChannelGenericEventResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendChannelEvent(id: number, createChannelGenericEventResource: CreateChannelGenericEventResource, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChannelGenericEventResource, any, {}>>;
    /**
     * Sends a channel invite to user
     * @summary Send a channel invite
     * @param {number} id Channel ID
     * @param {CreateChannelInviteResource} createChannelInviteResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendChannelInvite(id: number, createChannelInviteResource: CreateChannelInviteResource, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChannelInviteResource, any, {}>>;
    /**
     * Sends keystrokes in this channel on behalf of a user
     * @summary Send channel keystrokes
     * @param {number} id
     * @param {CreateDelegatedReplyThreadKeystrokesResource} createDelegatedReplyThreadKeystrokesResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendChannelKeystrokes(id: number, createDelegatedReplyThreadKeystrokesResource: CreateDelegatedReplyThreadKeystrokesResource, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ReplyThreadKeystrokesResource, any, {}>>;
    /**
     * Sends a message in this channel as the system or on behalf of a user
     * @summary Send a channel message
     * @param {number} id Channel ID
     * @param {CreateMessageResource} createMessageResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendChannelMessage(id: number, createMessageResource: CreateMessageResource, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<MessageResource, any, {}>>;
    /**
     * Updates a channel properties
     * @summary Update a channel
     * @param {number} id Channel ID
     * @param {object} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateChannel(id: number, body?: object, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChannelResource, any, {}>>;
}
export declare const ListChannelMessagesRelationEnum: {
    readonly Self: "SELF";
    readonly Previous: "PREVIOUS";
    readonly Next: "NEXT";
};
export type ListChannelMessagesRelationEnum = typeof ListChannelMessagesRelationEnum[keyof typeof ListChannelMessagesRelationEnum];
export declare const ListChannelsTypeEnum: {
    readonly Direct: "DIRECT";
    readonly Public: "PUBLIC";
    readonly Private: "PRIVATE";
};
export type ListChannelsTypeEnum = typeof ListChannelsTypeEnum[keyof typeof ListChannelsTypeEnum];
/**
 * ChatSessionsApi - axios parameter creator
 */
export declare const ChatSessionsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Returns a page of chat sessions belonging to this application
     * @summary List chat sessions
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {ListChatSessionsStateEnum} [state] Filters by state
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChatSessions: (page?: number, size?: number, sort?: Array<string>, state?: ListChatSessionsStateEnum, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * ChatSessionsApi - functional programming interface
 */
export declare const ChatSessionsApiFp: (configuration?: Configuration) => {
    /**
     * Returns a page of chat sessions belonging to this application
     * @summary List chat sessions
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {ListChatSessionsStateEnum} [state] Filters by state
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChatSessions(page?: number, size?: number, sort?: Array<string>, state?: ListChatSessionsStateEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PagedModelChatSessionResource>>;
};
/**
 * ChatSessionsApi - factory interface
 */
export declare const ChatSessionsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Returns a page of chat sessions belonging to this application
     * @summary List chat sessions
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {ListChatSessionsStateEnum} [state] Filters by state
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChatSessions(page?: number, size?: number, sort?: Array<string>, state?: ListChatSessionsStateEnum, options?: RawAxiosRequestConfig): AxiosPromise<PagedModelChatSessionResource>;
};
/**
 * ChatSessionsApi - object-oriented interface
 */
export declare class ChatSessionsApi extends BaseAPI {
    /**
     * Returns a page of chat sessions belonging to this application
     * @summary List chat sessions
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {ListChatSessionsStateEnum} [state] Filters by state
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listChatSessions(page?: number, size?: number, sort?: Array<string>, state?: ListChatSessionsStateEnum, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PagedModelChatSessionResource, any, {}>>;
}
export declare const ListChatSessionsStateEnum: {
    readonly Active: "ACTIVE";
    readonly Ended: "ENDED";
};
export type ListChatSessionsStateEnum = typeof ListChatSessionsStateEnum[keyof typeof ListChatSessionsStateEnum];
/**
 * FunctionVersionsApi - axios parameter creator
 */
export declare const FunctionVersionsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Returns a chat function version by ID
     * @summary Retrieve a chat function version
     * @param {number} id Chat function version ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveFunctionVersion: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * FunctionVersionsApi - functional programming interface
 */
export declare const FunctionVersionsApiFp: (configuration?: Configuration) => {
    /**
     * Returns a chat function version by ID
     * @summary Retrieve a chat function version
     * @param {number} id Chat function version ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveFunctionVersion(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChatFunctionVersionResource>>;
};
/**
 * FunctionVersionsApi - factory interface
 */
export declare const FunctionVersionsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Returns a chat function version by ID
     * @summary Retrieve a chat function version
     * @param {number} id Chat function version ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveFunctionVersion(id: number, options?: RawAxiosRequestConfig): AxiosPromise<ChatFunctionVersionResource>;
};
/**
 * FunctionVersionsApi - object-oriented interface
 */
export declare class FunctionVersionsApi extends BaseAPI {
    /**
     * Returns a chat function version by ID
     * @summary Retrieve a chat function version
     * @param {number} id Chat function version ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveFunctionVersion(id: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChatFunctionVersionResource, any, {}>>;
}
/**
 * FunctionsApi - axios parameter creator
 */
export declare const FunctionsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Creates a new version of this chat function
     * @summary Create a chat function version
     * @param {number} id Chat function ID
     * @param {CreateChatFunctionVersionResource} createChatFunctionVersionResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createFunctionVersion: (id: number, createChatFunctionVersionResource: CreateChatFunctionVersionResource, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a page of invocations of this chat function. A log of previous runs of the function
     * @summary List chat function invocations
     * @param {number} id Chat function ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listFunctionInvocations: (id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a page of versions of this chat function
     * @summary List chat function versions
     * @param {number} id Chat function ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listFunctionVersions: (id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a chat function by ID
     * @summary Retrieve a chat function
     * @param {number} id Chat function ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveFunction: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns the version of this chat function currently deployed
     * @summary Retrieve chat function current version
     * @param {number} id Chat function ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveFunctionCurrentVersion: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * FunctionsApi - functional programming interface
 */
export declare const FunctionsApiFp: (configuration?: Configuration) => {
    /**
     * Creates a new version of this chat function
     * @summary Create a chat function version
     * @param {number} id Chat function ID
     * @param {CreateChatFunctionVersionResource} createChatFunctionVersionResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createFunctionVersion(id: number, createChatFunctionVersionResource: CreateChatFunctionVersionResource, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChatFunctionVersionResource>>;
    /**
     * Returns a page of invocations of this chat function. A log of previous runs of the function
     * @summary List chat function invocations
     * @param {number} id Chat function ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listFunctionInvocations(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PagedModelChatFunctionInvocationResource>>;
    /**
     * Returns a page of versions of this chat function
     * @summary List chat function versions
     * @param {number} id Chat function ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listFunctionVersions(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PagedModelChatFunctionVersionResource>>;
    /**
     * Returns a chat function by ID
     * @summary Retrieve a chat function
     * @param {number} id Chat function ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveFunction(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChatFunctionResource>>;
    /**
     * Returns the version of this chat function currently deployed
     * @summary Retrieve chat function current version
     * @param {number} id Chat function ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveFunctionCurrentVersion(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChatFunctionVersionResource>>;
};
/**
 * FunctionsApi - factory interface
 */
export declare const FunctionsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Creates a new version of this chat function
     * @summary Create a chat function version
     * @param {number} id Chat function ID
     * @param {CreateChatFunctionVersionResource} createChatFunctionVersionResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createFunctionVersion(id: number, createChatFunctionVersionResource: CreateChatFunctionVersionResource, options?: RawAxiosRequestConfig): AxiosPromise<ChatFunctionVersionResource>;
    /**
     * Returns a page of invocations of this chat function. A log of previous runs of the function
     * @summary List chat function invocations
     * @param {number} id Chat function ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listFunctionInvocations(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): AxiosPromise<PagedModelChatFunctionInvocationResource>;
    /**
     * Returns a page of versions of this chat function
     * @summary List chat function versions
     * @param {number} id Chat function ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listFunctionVersions(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): AxiosPromise<PagedModelChatFunctionVersionResource>;
    /**
     * Returns a chat function by ID
     * @summary Retrieve a chat function
     * @param {number} id Chat function ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveFunction(id: number, options?: RawAxiosRequestConfig): AxiosPromise<ChatFunctionResource>;
    /**
     * Returns the version of this chat function currently deployed
     * @summary Retrieve chat function current version
     * @param {number} id Chat function ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveFunctionCurrentVersion(id: number, options?: RawAxiosRequestConfig): AxiosPromise<ChatFunctionVersionResource>;
};
/**
 * FunctionsApi - object-oriented interface
 */
export declare class FunctionsApi extends BaseAPI {
    /**
     * Creates a new version of this chat function
     * @summary Create a chat function version
     * @param {number} id Chat function ID
     * @param {CreateChatFunctionVersionResource} createChatFunctionVersionResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createFunctionVersion(id: number, createChatFunctionVersionResource: CreateChatFunctionVersionResource, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChatFunctionVersionResource, any, {}>>;
    /**
     * Returns a page of invocations of this chat function. A log of previous runs of the function
     * @summary List chat function invocations
     * @param {number} id Chat function ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listFunctionInvocations(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PagedModelChatFunctionInvocationResource, any, {}>>;
    /**
     * Returns a page of versions of this chat function
     * @summary List chat function versions
     * @param {number} id Chat function ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listFunctionVersions(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PagedModelChatFunctionVersionResource, any, {}>>;
    /**
     * Returns a chat function by ID
     * @summary Retrieve a chat function
     * @param {number} id Chat function ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveFunction(id: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChatFunctionResource, any, {}>>;
    /**
     * Returns the version of this chat function currently deployed
     * @summary Retrieve chat function current version
     * @param {number} id Chat function ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveFunctionCurrentVersion(id: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChatFunctionVersionResource, any, {}>>;
}
/**
 * ImportsApi - axios parameter creator
 */
export declare const ImportsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Batch imports channel members from a JSON array file
     * @summary Import channel members
     * @param {number} id
     * @param {File} file JSON array file with user references to be added as members
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    importChannelMembers: (id: number, file: File, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Batch imports channels from a JSON array file
     * @summary Import channels
     * @param {File} file JSON array file with channels
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    importChannels: (file: File, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Batch imports messages from a JSON array file
     * @summary Import messages
     * @param {File} file JSON array file with messages
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    importMessages: (file: File, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Batch imports users from a JSON array file
     * @summary Import users
     * @param {File} file JSON array file with users
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    importUsers: (file: File, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * ImportsApi - functional programming interface
 */
export declare const ImportsApiFp: (configuration?: Configuration) => {
    /**
     * Batch imports channel members from a JSON array file
     * @summary Import channel members
     * @param {number} id
     * @param {File} file JSON array file with user references to be added as members
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    importChannelMembers(id: number, file: File, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApplicationJobResource>>;
    /**
     * Batch imports channels from a JSON array file
     * @summary Import channels
     * @param {File} file JSON array file with channels
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    importChannels(file: File, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApplicationJobResource>>;
    /**
     * Batch imports messages from a JSON array file
     * @summary Import messages
     * @param {File} file JSON array file with messages
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    importMessages(file: File, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApplicationJobResource>>;
    /**
     * Batch imports users from a JSON array file
     * @summary Import users
     * @param {File} file JSON array file with users
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    importUsers(file: File, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApplicationJobResource>>;
};
/**
 * ImportsApi - factory interface
 */
export declare const ImportsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Batch imports channel members from a JSON array file
     * @summary Import channel members
     * @param {number} id
     * @param {File} file JSON array file with user references to be added as members
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    importChannelMembers(id: number, file: File, options?: RawAxiosRequestConfig): AxiosPromise<ApplicationJobResource>;
    /**
     * Batch imports channels from a JSON array file
     * @summary Import channels
     * @param {File} file JSON array file with channels
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    importChannels(file: File, options?: RawAxiosRequestConfig): AxiosPromise<ApplicationJobResource>;
    /**
     * Batch imports messages from a JSON array file
     * @summary Import messages
     * @param {File} file JSON array file with messages
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    importMessages(file: File, options?: RawAxiosRequestConfig): AxiosPromise<ApplicationJobResource>;
    /**
     * Batch imports users from a JSON array file
     * @summary Import users
     * @param {File} file JSON array file with users
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    importUsers(file: File, options?: RawAxiosRequestConfig): AxiosPromise<ApplicationJobResource>;
};
/**
 * ImportsApi - object-oriented interface
 */
export declare class ImportsApi extends BaseAPI {
    /**
     * Batch imports channel members from a JSON array file
     * @summary Import channel members
     * @param {number} id
     * @param {File} file JSON array file with user references to be added as members
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    importChannelMembers(id: number, file: File, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ApplicationJobResource, any, {}>>;
    /**
     * Batch imports channels from a JSON array file
     * @summary Import channels
     * @param {File} file JSON array file with channels
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    importChannels(file: File, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ApplicationJobResource, any, {}>>;
    /**
     * Batch imports messages from a JSON array file
     * @summary Import messages
     * @param {File} file JSON array file with messages
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    importMessages(file: File, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ApplicationJobResource, any, {}>>;
    /**
     * Batch imports users from a JSON array file
     * @summary Import users
     * @param {File} file JSON array file with users
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    importUsers(file: File, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ApplicationJobResource, any, {}>>;
}
/**
 * JobsApi - axios parameter creator
 */
export declare const JobsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Returns a page of jobs created for this application
     * @summary List jobs
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {boolean} [running] Filters for jobs currently running
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listJobs: (page?: number, size?: number, sort?: Array<string>, running?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a job by ID
     * @summary Retrieve a job
     * @param {number} id Job ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveJob: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * JobsApi - functional programming interface
 */
export declare const JobsApiFp: (configuration?: Configuration) => {
    /**
     * Returns a page of jobs created for this application
     * @summary List jobs
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {boolean} [running] Filters for jobs currently running
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listJobs(page?: number, size?: number, sort?: Array<string>, running?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PagedModelApplicationJobResource>>;
    /**
     * Returns a job by ID
     * @summary Retrieve a job
     * @param {number} id Job ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveJob(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApplicationJobResource>>;
};
/**
 * JobsApi - factory interface
 */
export declare const JobsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Returns a page of jobs created for this application
     * @summary List jobs
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {boolean} [running] Filters for jobs currently running
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listJobs(page?: number, size?: number, sort?: Array<string>, running?: boolean, options?: RawAxiosRequestConfig): AxiosPromise<PagedModelApplicationJobResource>;
    /**
     * Returns a job by ID
     * @summary Retrieve a job
     * @param {number} id Job ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveJob(id: number, options?: RawAxiosRequestConfig): AxiosPromise<ApplicationJobResource>;
};
/**
 * JobsApi - object-oriented interface
 */
export declare class JobsApi extends BaseAPI {
    /**
     * Returns a page of jobs created for this application
     * @summary List jobs
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {boolean} [running] Filters for jobs currently running
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listJobs(page?: number, size?: number, sort?: Array<string>, running?: boolean, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PagedModelApplicationJobResource, any, {}>>;
    /**
     * Returns a job by ID
     * @summary Retrieve a job
     * @param {number} id Job ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveJob(id: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ApplicationJobResource, any, {}>>;
}
/**
 * MessagesApi - axios parameter creator
 */
export declare const MessagesApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Deletes a message by ID
     * @summary Delete a message
     * @param {number} id Message ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteMessage: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Deletes all messages belonging to this application
     * @summary Delete messages
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteMessages: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a page of read receipts for this message
     * @summary List message read receipts
     * @param {number} id
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listMessageReadReceipts: (id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a page of messages belonging to this application
     * @summary List messages
     * @param {number} [size] The size of the page to be returned
     * @param {number} [start] Start cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {number} [next] Next page cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch subsequent pages
     * @param {ListMessagesRelationEnum} [relation] Page cursor relation. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {string} [username] Filters messages by a sender\&#39;s username
     * @param {string} [query] Filters text messages by text contained in the message body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listMessages: (size?: number, start?: number, next?: number, relation?: ListMessagesRelationEnum, username?: string, query?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a message by ID
     * @summary Retrieve a message
     * @param {number} id Message ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveMessage: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Updates a message properties
     * @summary Update a message
     * @param {number} id Message ID
     * @param {object} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateMessage: (id: number, body?: object, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * MessagesApi - functional programming interface
 */
export declare const MessagesApiFp: (configuration?: Configuration) => {
    /**
     * Deletes a message by ID
     * @summary Delete a message
     * @param {number} id Message ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteMessage(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ReplyThreadResource>>;
    /**
     * Deletes all messages belonging to this application
     * @summary Delete messages
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteMessages(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApplicationResource>>;
    /**
     * Returns a page of read receipts for this message
     * @summary List message read receipts
     * @param {number} id
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listMessageReadReceipts(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PagedModelMessageReadReceiptResource>>;
    /**
     * Returns a page of messages belonging to this application
     * @summary List messages
     * @param {number} [size] The size of the page to be returned
     * @param {number} [start] Start cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {number} [next] Next page cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch subsequent pages
     * @param {ListMessagesRelationEnum} [relation] Page cursor relation. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {string} [username] Filters messages by a sender\&#39;s username
     * @param {string} [query] Filters text messages by text contained in the message body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listMessages(size?: number, start?: number, next?: number, relation?: ListMessagesRelationEnum, username?: string, query?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CursorPagedModelMessageResource>>;
    /**
     * Returns a message by ID
     * @summary Retrieve a message
     * @param {number} id Message ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveMessage(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MessageResource>>;
    /**
     * Updates a message properties
     * @summary Update a message
     * @param {number} id Message ID
     * @param {object} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateMessage(id: number, body?: object, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MessageResource>>;
};
/**
 * MessagesApi - factory interface
 */
export declare const MessagesApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Deletes a message by ID
     * @summary Delete a message
     * @param {number} id Message ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteMessage(id: number, options?: RawAxiosRequestConfig): AxiosPromise<ReplyThreadResource>;
    /**
     * Deletes all messages belonging to this application
     * @summary Delete messages
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteMessages(options?: RawAxiosRequestConfig): AxiosPromise<ApplicationResource>;
    /**
     * Returns a page of read receipts for this message
     * @summary List message read receipts
     * @param {number} id
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listMessageReadReceipts(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): AxiosPromise<PagedModelMessageReadReceiptResource>;
    /**
     * Returns a page of messages belonging to this application
     * @summary List messages
     * @param {number} [size] The size of the page to be returned
     * @param {number} [start] Start cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {number} [next] Next page cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch subsequent pages
     * @param {ListMessagesRelationEnum} [relation] Page cursor relation. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {string} [username] Filters messages by a sender\&#39;s username
     * @param {string} [query] Filters text messages by text contained in the message body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listMessages(size?: number, start?: number, next?: number, relation?: ListMessagesRelationEnum, username?: string, query?: string, options?: RawAxiosRequestConfig): AxiosPromise<CursorPagedModelMessageResource>;
    /**
     * Returns a message by ID
     * @summary Retrieve a message
     * @param {number} id Message ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveMessage(id: number, options?: RawAxiosRequestConfig): AxiosPromise<MessageResource>;
    /**
     * Updates a message properties
     * @summary Update a message
     * @param {number} id Message ID
     * @param {object} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateMessage(id: number, body?: object, options?: RawAxiosRequestConfig): AxiosPromise<MessageResource>;
};
/**
 * MessagesApi - object-oriented interface
 */
export declare class MessagesApi extends BaseAPI {
    /**
     * Deletes a message by ID
     * @summary Delete a message
     * @param {number} id Message ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteMessage(id: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ReplyThreadResource, any, {}>>;
    /**
     * Deletes all messages belonging to this application
     * @summary Delete messages
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteMessages(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ApplicationResource, any, {}>>;
    /**
     * Returns a page of read receipts for this message
     * @summary List message read receipts
     * @param {number} id
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listMessageReadReceipts(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PagedModelMessageReadReceiptResource, any, {}>>;
    /**
     * Returns a page of messages belonging to this application
     * @summary List messages
     * @param {number} [size] The size of the page to be returned
     * @param {number} [start] Start cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {number} [next] Next page cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch subsequent pages
     * @param {ListMessagesRelationEnum} [relation] Page cursor relation. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {string} [username] Filters messages by a sender\&#39;s username
     * @param {string} [query] Filters text messages by text contained in the message body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listMessages(size?: number, start?: number, next?: number, relation?: ListMessagesRelationEnum, username?: string, query?: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CursorPagedModelMessageResource, any, {}>>;
    /**
     * Returns a message by ID
     * @summary Retrieve a message
     * @param {number} id Message ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveMessage(id: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<MessageResource, any, {}>>;
    /**
     * Updates a message properties
     * @summary Update a message
     * @param {number} id Message ID
     * @param {object} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateMessage(id: number, body?: object, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<MessageResource, any, {}>>;
}
export declare const ListMessagesRelationEnum: {
    readonly Self: "SELF";
    readonly Previous: "PREVIOUS";
    readonly Next: "NEXT";
};
export type ListMessagesRelationEnum = typeof ListMessagesRelationEnum[keyof typeof ListMessagesRelationEnum];
/**
 * RuntimeApi - axios parameter creator
 */
export declare const RuntimeApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Creates a NodeJS chat function for this runtime
     * @summary Create a NodeJS chat runtime function
     * @param {CreateChatFunctionResource} createChatFunctionResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createNodejsRuntimeFunction: (createChatFunctionResource: CreateChatFunctionResource, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a page of functions for this application\'s NodeJS chat runtime
     * @summary List NodeJS chat runtime functions
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listNodejsRuntimeFunctions: (page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Return this application\'s NodeJS chat runtime
     * @summary Retrieve NodeJS chat runtime
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveNodejsRuntime: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Updates the NPM dependencies for this application\'s NodeJS chat runtime
     * @summary Update NodeJS chat runtime NPM dependencies
     * @param {Array<ChatRuntimeDependencyProperties>} chatRuntimeDependencyProperties
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateNodejsRuntimeDependencies: (chatRuntimeDependencyProperties: Array<ChatRuntimeDependencyProperties>, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Updates the runtime environment variables of this application\'s NodeJS chat runtime
     * @summary Update NodeJS chat runtime environment variables
     * @param {{ [key: string]: string; }} requestBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateNodejsRuntimeEnvironmentVariables: (requestBody: {
        [key: string]: string;
    }, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Updates the initialization script for this application\'s NodeJS chat runtime
     * @summary Update NodeJS chat runtime initialization script
     * @param {ChatRuntimeScriptProperties} chatRuntimeScriptProperties
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateNodejsRuntimeInitializationScript: (chatRuntimeScriptProperties: ChatRuntimeScriptProperties, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * RuntimeApi - functional programming interface
 */
export declare const RuntimeApiFp: (configuration?: Configuration) => {
    /**
     * Creates a NodeJS chat function for this runtime
     * @summary Create a NodeJS chat runtime function
     * @param {CreateChatFunctionResource} createChatFunctionResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createNodejsRuntimeFunction(createChatFunctionResource: CreateChatFunctionResource, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChatFunctionResource>>;
    /**
     * Returns a page of functions for this application\'s NodeJS chat runtime
     * @summary List NodeJS chat runtime functions
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listNodejsRuntimeFunctions(page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PagedModelChatFunctionResource>>;
    /**
     * Return this application\'s NodeJS chat runtime
     * @summary Retrieve NodeJS chat runtime
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveNodejsRuntime(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChatRuntimeResource>>;
    /**
     * Updates the NPM dependencies for this application\'s NodeJS chat runtime
     * @summary Update NodeJS chat runtime NPM dependencies
     * @param {Array<ChatRuntimeDependencyProperties>} chatRuntimeDependencyProperties
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateNodejsRuntimeDependencies(chatRuntimeDependencyProperties: Array<ChatRuntimeDependencyProperties>, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChatRuntimeResource>>;
    /**
     * Updates the runtime environment variables of this application\'s NodeJS chat runtime
     * @summary Update NodeJS chat runtime environment variables
     * @param {{ [key: string]: string; }} requestBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateNodejsRuntimeEnvironmentVariables(requestBody: {
        [key: string]: string;
    }, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChatRuntimeResource>>;
    /**
     * Updates the initialization script for this application\'s NodeJS chat runtime
     * @summary Update NodeJS chat runtime initialization script
     * @param {ChatRuntimeScriptProperties} chatRuntimeScriptProperties
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateNodejsRuntimeInitializationScript(chatRuntimeScriptProperties: ChatRuntimeScriptProperties, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChatRuntimeResource>>;
};
/**
 * RuntimeApi - factory interface
 */
export declare const RuntimeApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Creates a NodeJS chat function for this runtime
     * @summary Create a NodeJS chat runtime function
     * @param {CreateChatFunctionResource} createChatFunctionResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createNodejsRuntimeFunction(createChatFunctionResource: CreateChatFunctionResource, options?: RawAxiosRequestConfig): AxiosPromise<ChatFunctionResource>;
    /**
     * Returns a page of functions for this application\'s NodeJS chat runtime
     * @summary List NodeJS chat runtime functions
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listNodejsRuntimeFunctions(page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): AxiosPromise<PagedModelChatFunctionResource>;
    /**
     * Return this application\'s NodeJS chat runtime
     * @summary Retrieve NodeJS chat runtime
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveNodejsRuntime(options?: RawAxiosRequestConfig): AxiosPromise<ChatRuntimeResource>;
    /**
     * Updates the NPM dependencies for this application\'s NodeJS chat runtime
     * @summary Update NodeJS chat runtime NPM dependencies
     * @param {Array<ChatRuntimeDependencyProperties>} chatRuntimeDependencyProperties
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateNodejsRuntimeDependencies(chatRuntimeDependencyProperties: Array<ChatRuntimeDependencyProperties>, options?: RawAxiosRequestConfig): AxiosPromise<ChatRuntimeResource>;
    /**
     * Updates the runtime environment variables of this application\'s NodeJS chat runtime
     * @summary Update NodeJS chat runtime environment variables
     * @param {{ [key: string]: string; }} requestBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateNodejsRuntimeEnvironmentVariables(requestBody: {
        [key: string]: string;
    }, options?: RawAxiosRequestConfig): AxiosPromise<ChatRuntimeResource>;
    /**
     * Updates the initialization script for this application\'s NodeJS chat runtime
     * @summary Update NodeJS chat runtime initialization script
     * @param {ChatRuntimeScriptProperties} chatRuntimeScriptProperties
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateNodejsRuntimeInitializationScript(chatRuntimeScriptProperties: ChatRuntimeScriptProperties, options?: RawAxiosRequestConfig): AxiosPromise<ChatRuntimeResource>;
};
/**
 * RuntimeApi - object-oriented interface
 */
export declare class RuntimeApi extends BaseAPI {
    /**
     * Creates a NodeJS chat function for this runtime
     * @summary Create a NodeJS chat runtime function
     * @param {CreateChatFunctionResource} createChatFunctionResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createNodejsRuntimeFunction(createChatFunctionResource: CreateChatFunctionResource, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChatFunctionResource, any, {}>>;
    /**
     * Returns a page of functions for this application\'s NodeJS chat runtime
     * @summary List NodeJS chat runtime functions
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listNodejsRuntimeFunctions(page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PagedModelChatFunctionResource, any, {}>>;
    /**
     * Return this application\'s NodeJS chat runtime
     * @summary Retrieve NodeJS chat runtime
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveNodejsRuntime(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChatRuntimeResource, any, {}>>;
    /**
     * Updates the NPM dependencies for this application\'s NodeJS chat runtime
     * @summary Update NodeJS chat runtime NPM dependencies
     * @param {Array<ChatRuntimeDependencyProperties>} chatRuntimeDependencyProperties
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateNodejsRuntimeDependencies(chatRuntimeDependencyProperties: Array<ChatRuntimeDependencyProperties>, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChatRuntimeResource, any, {}>>;
    /**
     * Updates the runtime environment variables of this application\'s NodeJS chat runtime
     * @summary Update NodeJS chat runtime environment variables
     * @param {{ [key: string]: string; }} requestBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateNodejsRuntimeEnvironmentVariables(requestBody: {
        [key: string]: string;
    }, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChatRuntimeResource, any, {}>>;
    /**
     * Updates the initialization script for this application\'s NodeJS chat runtime
     * @summary Update NodeJS chat runtime initialization script
     * @param {ChatRuntimeScriptProperties} chatRuntimeScriptProperties
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateNodejsRuntimeInitializationScript(chatRuntimeScriptProperties: ChatRuntimeScriptProperties, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChatRuntimeResource, any, {}>>;
}
/**
 * ThreadsApi - axios parameter creator
 */
export declare const ThreadsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Returns a page of replies sent in this thread
     * @summary List reply thread messages
     * @param {number} id
     * @param {number} [size] The size of the page to be returned
     * @param {number} [start] Start cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {number} [next] Next page cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch subsequent pages
     * @param {ListThreadMessagesRelationEnum} [relation] Page cursor relation. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listThreadMessages: (id: number, size?: number, start?: number, next?: number, relation?: ListThreadMessagesRelationEnum, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a thread by ID
     * @summary Retrieve a thread
     * @param {number} id Reply thread ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveThread: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Sends keystrokes in this thread on behalf of a user
     * @summary Send thread keystrokes
     * @param {number} id
     * @param {CreateDelegatedReplyThreadKeystrokesResource} createDelegatedReplyThreadKeystrokesResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendThreadKeystrokes: (id: number, createDelegatedReplyThreadKeystrokesResource: CreateDelegatedReplyThreadKeystrokesResource, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Sends a reply message in this thread as the system or on behalf of a user
     * @summary Send a reply thread message
     * @param {number} id
     * @param {CreateMessageResource} createMessageResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendThreadMessage: (id: number, createMessageResource: CreateMessageResource, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * ThreadsApi - functional programming interface
 */
export declare const ThreadsApiFp: (configuration?: Configuration) => {
    /**
     * Returns a page of replies sent in this thread
     * @summary List reply thread messages
     * @param {number} id
     * @param {number} [size] The size of the page to be returned
     * @param {number} [start] Start cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {number} [next] Next page cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch subsequent pages
     * @param {ListThreadMessagesRelationEnum} [relation] Page cursor relation. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listThreadMessages(id: number, size?: number, start?: number, next?: number, relation?: ListThreadMessagesRelationEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CursorPagedModelMessageResource>>;
    /**
     * Returns a thread by ID
     * @summary Retrieve a thread
     * @param {number} id Reply thread ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveThread(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ReplyThreadResource>>;
    /**
     * Sends keystrokes in this thread on behalf of a user
     * @summary Send thread keystrokes
     * @param {number} id
     * @param {CreateDelegatedReplyThreadKeystrokesResource} createDelegatedReplyThreadKeystrokesResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendThreadKeystrokes(id: number, createDelegatedReplyThreadKeystrokesResource: CreateDelegatedReplyThreadKeystrokesResource, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ReplyThreadKeystrokesResource>>;
    /**
     * Sends a reply message in this thread as the system or on behalf of a user
     * @summary Send a reply thread message
     * @param {number} id
     * @param {CreateMessageResource} createMessageResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendThreadMessage(id: number, createMessageResource: CreateMessageResource, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MessageResource>>;
};
/**
 * ThreadsApi - factory interface
 */
export declare const ThreadsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Returns a page of replies sent in this thread
     * @summary List reply thread messages
     * @param {number} id
     * @param {number} [size] The size of the page to be returned
     * @param {number} [start] Start cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {number} [next] Next page cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch subsequent pages
     * @param {ListThreadMessagesRelationEnum} [relation] Page cursor relation. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listThreadMessages(id: number, size?: number, start?: number, next?: number, relation?: ListThreadMessagesRelationEnum, options?: RawAxiosRequestConfig): AxiosPromise<CursorPagedModelMessageResource>;
    /**
     * Returns a thread by ID
     * @summary Retrieve a thread
     * @param {number} id Reply thread ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveThread(id: number, options?: RawAxiosRequestConfig): AxiosPromise<ReplyThreadResource>;
    /**
     * Sends keystrokes in this thread on behalf of a user
     * @summary Send thread keystrokes
     * @param {number} id
     * @param {CreateDelegatedReplyThreadKeystrokesResource} createDelegatedReplyThreadKeystrokesResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendThreadKeystrokes(id: number, createDelegatedReplyThreadKeystrokesResource: CreateDelegatedReplyThreadKeystrokesResource, options?: RawAxiosRequestConfig): AxiosPromise<ReplyThreadKeystrokesResource>;
    /**
     * Sends a reply message in this thread as the system or on behalf of a user
     * @summary Send a reply thread message
     * @param {number} id
     * @param {CreateMessageResource} createMessageResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendThreadMessage(id: number, createMessageResource: CreateMessageResource, options?: RawAxiosRequestConfig): AxiosPromise<MessageResource>;
};
/**
 * ThreadsApi - object-oriented interface
 */
export declare class ThreadsApi extends BaseAPI {
    /**
     * Returns a page of replies sent in this thread
     * @summary List reply thread messages
     * @param {number} id
     * @param {number} [size] The size of the page to be returned
     * @param {number} [start] Start cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {number} [next] Next page cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch subsequent pages
     * @param {ListThreadMessagesRelationEnum} [relation] Page cursor relation. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listThreadMessages(id: number, size?: number, start?: number, next?: number, relation?: ListThreadMessagesRelationEnum, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CursorPagedModelMessageResource, any, {}>>;
    /**
     * Returns a thread by ID
     * @summary Retrieve a thread
     * @param {number} id Reply thread ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveThread(id: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ReplyThreadResource, any, {}>>;
    /**
     * Sends keystrokes in this thread on behalf of a user
     * @summary Send thread keystrokes
     * @param {number} id
     * @param {CreateDelegatedReplyThreadKeystrokesResource} createDelegatedReplyThreadKeystrokesResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendThreadKeystrokes(id: number, createDelegatedReplyThreadKeystrokesResource: CreateDelegatedReplyThreadKeystrokesResource, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ReplyThreadKeystrokesResource, any, {}>>;
    /**
     * Sends a reply message in this thread as the system or on behalf of a user
     * @summary Send a reply thread message
     * @param {number} id
     * @param {CreateMessageResource} createMessageResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    sendThreadMessage(id: number, createMessageResource: CreateMessageResource, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<MessageResource, any, {}>>;
}
export declare const ListThreadMessagesRelationEnum: {
    readonly Self: "SELF";
    readonly Previous: "PREVIOUS";
    readonly Next: "NEXT";
};
export type ListThreadMessagesRelationEnum = typeof ListThreadMessagesRelationEnum[keyof typeof ListThreadMessagesRelationEnum];
/**
 * UserSessionsApi - axios parameter creator
 */
export declare const UserSessionsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Returns a page of user sessions belonging to this application
     * @summary List user sessions
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {ListUserSessionsStateEnum} [state] Filters by state
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listUserSessions: (page?: number, size?: number, sort?: Array<string>, state?: ListUserSessionsStateEnum, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * UserSessionsApi - functional programming interface
 */
export declare const UserSessionsApiFp: (configuration?: Configuration) => {
    /**
     * Returns a page of user sessions belonging to this application
     * @summary List user sessions
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {ListUserSessionsStateEnum} [state] Filters by state
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listUserSessions(page?: number, size?: number, sort?: Array<string>, state?: ListUserSessionsStateEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PagedModelChatUserSessionResource>>;
};
/**
 * UserSessionsApi - factory interface
 */
export declare const UserSessionsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Returns a page of user sessions belonging to this application
     * @summary List user sessions
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {ListUserSessionsStateEnum} [state] Filters by state
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listUserSessions(page?: number, size?: number, sort?: Array<string>, state?: ListUserSessionsStateEnum, options?: RawAxiosRequestConfig): AxiosPromise<PagedModelChatUserSessionResource>;
};
/**
 * UserSessionsApi - object-oriented interface
 */
export declare class UserSessionsApi extends BaseAPI {
    /**
     * Returns a page of user sessions belonging to this application
     * @summary List user sessions
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {ListUserSessionsStateEnum} [state] Filters by state
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listUserSessions(page?: number, size?: number, sort?: Array<string>, state?: ListUserSessionsStateEnum, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PagedModelChatUserSessionResource, any, {}>>;
}
export declare const ListUserSessionsStateEnum: {
    readonly Active: "ACTIVE";
    readonly Ended: "ENDED";
};
export type ListUserSessionsStateEnum = typeof ListUserSessionsStateEnum[keyof typeof ListUserSessionsStateEnum];
/**
 * UsersApi - axios parameter creator
 */
export declare const UsersApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Checks if a user exists
     * @summary Check a user exists
     * @param {string} name Username of the user
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    checkUserExists: (name: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a count of unread messages for this user
     * @summary Counts the number of unread messages for a user
     * @param {number} id User ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    countUserUnreadMessages: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Creates a new user
     * @summary Create a user
     * @param {CreatePersonChatUserResource} createPersonChatUserResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createUser: (createPersonChatUserResource: CreatePersonChatUserResource, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Delets a user
     * @summary Delete a user
     * @param {number} id User ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteUser: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a page of channels for this user created or joined
     * @summary List a user\'s channels
     * @param {number} id User ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listUserChannels: (id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a page of messages for a user
     * @summary List a user\'s messages
     * @param {number} id User ID
     * @param {number} [size] The size of the page to be returned
     * @param {number} [start] Start cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {number} [next] Next page cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch subsequent pages
     * @param {ListUserMessagesRelationEnum} [relation] Page cursor relation. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {boolean} [unread] Filters by returning unread messages
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listUserMessages: (id: number, size?: number, start?: number, next?: number, relation?: ListUserMessagesRelationEnum, unread?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a page of notifications received by this user
     * @summary List a user\'s notifications
     * @param {number} id User ID
     * @param {number} [size] The size of the page to be returned
     * @param {number} [start] Start cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {number} [next] Next page cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch subsequent pages
     * @param {ListUserNotificationsRelationEnum} [relation] Page cursor relation. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listUserNotifications: (id: number, size?: number, start?: number, next?: number, relation?: ListUserNotificationsRelationEnum, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a page of users belonging to this application
     * @summary List users
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {string} [name] Filters by username
     * @param {boolean} [unread] Filters by unread
     * @param {string} [properties] Filters by user custom properties
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listUsers: (page?: number, size?: number, sort?: Array<string>, name?: string, unread?: boolean, properties?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Removes a user secret\'s value
     * @summary Remove a user secret
     * @param {number} id User ID
     * @param {string} name The secret\&#39;s name
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    removeUserSecret: (id: number, name: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a user by ID
     * @summary Retrieve a user
     * @param {number} id User ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveUser: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a user secret
     * @summary Retrieve a user secret
     * @param {number} id User ID
     * @param {string} name The secret\&#39;s name
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveUserSecret: (id: number, name: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Sets a user secret\'s value
     * @summary Set a user secret
     * @param {number} id User ID
     * @param {string} name The secret\&#39;s name
     * @param {SecretResource} secretResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    setUserSecret: (id: number, name: string, secretResource: SecretResource, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Updates a user
     * @summary Update a user
     * @param {number} id User ID
     * @param {object} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateUser: (id: number, body?: object, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Updates a user\'s display picture
     * @summary Update a user\'s display picture
     * @param {number} id User ID
     * @param {CreateExternalFileProperties} createExternalFileProperties
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateUserDisplayPicture: (id: number, createExternalFileProperties: CreateExternalFileProperties, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * UsersApi - functional programming interface
 */
export declare const UsersApiFp: (configuration?: Configuration) => {
    /**
     * Checks if a user exists
     * @summary Check a user exists
     * @param {string} name Username of the user
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    checkUserExists(name: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>>;
    /**
     * Returns a count of unread messages for this user
     * @summary Counts the number of unread messages for a user
     * @param {number} id User ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    countUserUnreadMessages(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CountResource>>;
    /**
     * Creates a new user
     * @summary Create a user
     * @param {CreatePersonChatUserResource} createPersonChatUserResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createUser(createPersonChatUserResource: CreatePersonChatUserResource, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChatUserResource>>;
    /**
     * Delets a user
     * @summary Delete a user
     * @param {number} id User ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteUser(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApplicationResource>>;
    /**
     * Returns a page of channels for this user created or joined
     * @summary List a user\'s channels
     * @param {number} id User ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listUserChannels(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PagedModelChannelResource>>;
    /**
     * Returns a page of messages for a user
     * @summary List a user\'s messages
     * @param {number} id User ID
     * @param {number} [size] The size of the page to be returned
     * @param {number} [start] Start cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {number} [next] Next page cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch subsequent pages
     * @param {ListUserMessagesRelationEnum} [relation] Page cursor relation. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {boolean} [unread] Filters by returning unread messages
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listUserMessages(id: number, size?: number, start?: number, next?: number, relation?: ListUserMessagesRelationEnum, unread?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CursorPagedModelMessageResource>>;
    /**
     * Returns a page of notifications received by this user
     * @summary List a user\'s notifications
     * @param {number} id User ID
     * @param {number} [size] The size of the page to be returned
     * @param {number} [start] Start cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {number} [next] Next page cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch subsequent pages
     * @param {ListUserNotificationsRelationEnum} [relation] Page cursor relation. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listUserNotifications(id: number, size?: number, start?: number, next?: number, relation?: ListUserNotificationsRelationEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CursorPagedModelNotificationResource>>;
    /**
     * Returns a page of users belonging to this application
     * @summary List users
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {string} [name] Filters by username
     * @param {boolean} [unread] Filters by unread
     * @param {string} [properties] Filters by user custom properties
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listUsers(page?: number, size?: number, sort?: Array<string>, name?: string, unread?: boolean, properties?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PagedModelChatUserResource>>;
    /**
     * Removes a user secret\'s value
     * @summary Remove a user secret
     * @param {number} id User ID
     * @param {string} name The secret\&#39;s name
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    removeUserSecret(id: number, name: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChatUserResource>>;
    /**
     * Returns a user by ID
     * @summary Retrieve a user
     * @param {number} id User ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveUser(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChatUserResource>>;
    /**
     * Returns a user secret
     * @summary Retrieve a user secret
     * @param {number} id User ID
     * @param {string} name The secret\&#39;s name
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveUserSecret(id: number, name: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SecretResource>>;
    /**
     * Sets a user secret\'s value
     * @summary Set a user secret
     * @param {number} id User ID
     * @param {string} name The secret\&#39;s name
     * @param {SecretResource} secretResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    setUserSecret(id: number, name: string, secretResource: SecretResource, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChatUserResource>>;
    /**
     * Updates a user
     * @summary Update a user
     * @param {number} id User ID
     * @param {object} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateUser(id: number, body?: object, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChatUserResource>>;
    /**
     * Updates a user\'s display picture
     * @summary Update a user\'s display picture
     * @param {number} id User ID
     * @param {CreateExternalFileProperties} createExternalFileProperties
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateUserDisplayPicture(id: number, createExternalFileProperties: CreateExternalFileProperties, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChatUserResource>>;
};
/**
 * UsersApi - factory interface
 */
export declare const UsersApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Checks if a user exists
     * @summary Check a user exists
     * @param {string} name Username of the user
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    checkUserExists(name: string, options?: RawAxiosRequestConfig): AxiosPromise<object>;
    /**
     * Returns a count of unread messages for this user
     * @summary Counts the number of unread messages for a user
     * @param {number} id User ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    countUserUnreadMessages(id: number, options?: RawAxiosRequestConfig): AxiosPromise<CountResource>;
    /**
     * Creates a new user
     * @summary Create a user
     * @param {CreatePersonChatUserResource} createPersonChatUserResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createUser(createPersonChatUserResource: CreatePersonChatUserResource, options?: RawAxiosRequestConfig): AxiosPromise<ChatUserResource>;
    /**
     * Delets a user
     * @summary Delete a user
     * @param {number} id User ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteUser(id: number, options?: RawAxiosRequestConfig): AxiosPromise<ApplicationResource>;
    /**
     * Returns a page of channels for this user created or joined
     * @summary List a user\'s channels
     * @param {number} id User ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listUserChannels(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): AxiosPromise<PagedModelChannelResource>;
    /**
     * Returns a page of messages for a user
     * @summary List a user\'s messages
     * @param {number} id User ID
     * @param {number} [size] The size of the page to be returned
     * @param {number} [start] Start cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {number} [next] Next page cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch subsequent pages
     * @param {ListUserMessagesRelationEnum} [relation] Page cursor relation. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {boolean} [unread] Filters by returning unread messages
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listUserMessages(id: number, size?: number, start?: number, next?: number, relation?: ListUserMessagesRelationEnum, unread?: boolean, options?: RawAxiosRequestConfig): AxiosPromise<CursorPagedModelMessageResource>;
    /**
     * Returns a page of notifications received by this user
     * @summary List a user\'s notifications
     * @param {number} id User ID
     * @param {number} [size] The size of the page to be returned
     * @param {number} [start] Start cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {number} [next] Next page cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch subsequent pages
     * @param {ListUserNotificationsRelationEnum} [relation] Page cursor relation. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listUserNotifications(id: number, size?: number, start?: number, next?: number, relation?: ListUserNotificationsRelationEnum, options?: RawAxiosRequestConfig): AxiosPromise<CursorPagedModelNotificationResource>;
    /**
     * Returns a page of users belonging to this application
     * @summary List users
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {string} [name] Filters by username
     * @param {boolean} [unread] Filters by unread
     * @param {string} [properties] Filters by user custom properties
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listUsers(page?: number, size?: number, sort?: Array<string>, name?: string, unread?: boolean, properties?: string, options?: RawAxiosRequestConfig): AxiosPromise<PagedModelChatUserResource>;
    /**
     * Removes a user secret\'s value
     * @summary Remove a user secret
     * @param {number} id User ID
     * @param {string} name The secret\&#39;s name
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    removeUserSecret(id: number, name: string, options?: RawAxiosRequestConfig): AxiosPromise<ChatUserResource>;
    /**
     * Returns a user by ID
     * @summary Retrieve a user
     * @param {number} id User ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveUser(id: number, options?: RawAxiosRequestConfig): AxiosPromise<ChatUserResource>;
    /**
     * Returns a user secret
     * @summary Retrieve a user secret
     * @param {number} id User ID
     * @param {string} name The secret\&#39;s name
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveUserSecret(id: number, name: string, options?: RawAxiosRequestConfig): AxiosPromise<SecretResource>;
    /**
     * Sets a user secret\'s value
     * @summary Set a user secret
     * @param {number} id User ID
     * @param {string} name The secret\&#39;s name
     * @param {SecretResource} secretResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    setUserSecret(id: number, name: string, secretResource: SecretResource, options?: RawAxiosRequestConfig): AxiosPromise<ChatUserResource>;
    /**
     * Updates a user
     * @summary Update a user
     * @param {number} id User ID
     * @param {object} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateUser(id: number, body?: object, options?: RawAxiosRequestConfig): AxiosPromise<ChatUserResource>;
    /**
     * Updates a user\'s display picture
     * @summary Update a user\'s display picture
     * @param {number} id User ID
     * @param {CreateExternalFileProperties} createExternalFileProperties
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateUserDisplayPicture(id: number, createExternalFileProperties: CreateExternalFileProperties, options?: RawAxiosRequestConfig): AxiosPromise<ChatUserResource>;
};
/**
 * UsersApi - object-oriented interface
 */
export declare class UsersApi extends BaseAPI {
    /**
     * Checks if a user exists
     * @summary Check a user exists
     * @param {string} name Username of the user
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    checkUserExists(name: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<object, any, {}>>;
    /**
     * Returns a count of unread messages for this user
     * @summary Counts the number of unread messages for a user
     * @param {number} id User ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    countUserUnreadMessages(id: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CountResource, any, {}>>;
    /**
     * Creates a new user
     * @summary Create a user
     * @param {CreatePersonChatUserResource} createPersonChatUserResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createUser(createPersonChatUserResource: CreatePersonChatUserResource, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChatUserResource, any, {}>>;
    /**
     * Delets a user
     * @summary Delete a user
     * @param {number} id User ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteUser(id: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ApplicationResource, any, {}>>;
    /**
     * Returns a page of channels for this user created or joined
     * @summary List a user\'s channels
     * @param {number} id User ID
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listUserChannels(id: number, page?: number, size?: number, sort?: Array<string>, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PagedModelChannelResource, any, {}>>;
    /**
     * Returns a page of messages for a user
     * @summary List a user\'s messages
     * @param {number} id User ID
     * @param {number} [size] The size of the page to be returned
     * @param {number} [start] Start cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {number} [next] Next page cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch subsequent pages
     * @param {ListUserMessagesRelationEnum} [relation] Page cursor relation. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {boolean} [unread] Filters by returning unread messages
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listUserMessages(id: number, size?: number, start?: number, next?: number, relation?: ListUserMessagesRelationEnum, unread?: boolean, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CursorPagedModelMessageResource, any, {}>>;
    /**
     * Returns a page of notifications received by this user
     * @summary List a user\'s notifications
     * @param {number} id User ID
     * @param {number} [size] The size of the page to be returned
     * @param {number} [start] Start cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {number} [next] Next page cursor value. Do not set manually. Provided by the Platform API pagination engine to fetch subsequent pages
     * @param {ListUserNotificationsRelationEnum} [relation] Page cursor relation. Do not set manually. Provided by the Platform API pagination engine to fetch previous or next pages
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listUserNotifications(id: number, size?: number, start?: number, next?: number, relation?: ListUserNotificationsRelationEnum, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CursorPagedModelNotificationResource, any, {}>>;
    /**
     * Returns a page of users belonging to this application
     * @summary List users
     * @param {number} [page] Zero-based page index (0..N)
     * @param {number} [size] The size of the page to be returned
     * @param {Array<string>} [sort] Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.
     * @param {string} [name] Filters by username
     * @param {boolean} [unread] Filters by unread
     * @param {string} [properties] Filters by user custom properties
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listUsers(page?: number, size?: number, sort?: Array<string>, name?: string, unread?: boolean, properties?: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PagedModelChatUserResource, any, {}>>;
    /**
     * Removes a user secret\'s value
     * @summary Remove a user secret
     * @param {number} id User ID
     * @param {string} name The secret\&#39;s name
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    removeUserSecret(id: number, name: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChatUserResource, any, {}>>;
    /**
     * Returns a user by ID
     * @summary Retrieve a user
     * @param {number} id User ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveUser(id: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChatUserResource, any, {}>>;
    /**
     * Returns a user secret
     * @summary Retrieve a user secret
     * @param {number} id User ID
     * @param {string} name The secret\&#39;s name
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveUserSecret(id: number, name: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<SecretResource, any, {}>>;
    /**
     * Sets a user secret\'s value
     * @summary Set a user secret
     * @param {number} id User ID
     * @param {string} name The secret\&#39;s name
     * @param {SecretResource} secretResource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    setUserSecret(id: number, name: string, secretResource: SecretResource, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChatUserResource, any, {}>>;
    /**
     * Updates a user
     * @summary Update a user
     * @param {number} id User ID
     * @param {object} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateUser(id: number, body?: object, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChatUserResource, any, {}>>;
    /**
     * Updates a user\'s display picture
     * @summary Update a user\'s display picture
     * @param {number} id User ID
     * @param {CreateExternalFileProperties} createExternalFileProperties
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateUserDisplayPicture(id: number, createExternalFileProperties: CreateExternalFileProperties, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChatUserResource, any, {}>>;
}
export declare const ListUserMessagesRelationEnum: {
    readonly Self: "SELF";
    readonly Previous: "PREVIOUS";
    readonly Next: "NEXT";
};
export type ListUserMessagesRelationEnum = typeof ListUserMessagesRelationEnum[keyof typeof ListUserMessagesRelationEnum];
export declare const ListUserNotificationsRelationEnum: {
    readonly Self: "SELF";
    readonly Previous: "PREVIOUS";
    readonly Next: "NEXT";
};
export type ListUserNotificationsRelationEnum = typeof ListUserNotificationsRelationEnum[keyof typeof ListUserNotificationsRelationEnum];
