/**
 */
import * as $Util from '@alicloud/tea-util';
import OpenApi, * as $OpenApi from '@alicloud/openapi-client';
import { Readable } from 'stream';
import * as $tea from '@alicloud/tea-typescript';
export declare class DraftMessage extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    bccRecipients?: Recipient[];
    /**
     * @remarks
     * This parameter is required.
     */
    body?: DraftMessageBody;
    /**
     * @remarks
     * This parameter is required.
     */
    ccRecipients?: Recipient[];
    /**
     * @remarks
     * This parameter is required.
     */
    from?: Recipient;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * 由RFC5322定义的邮件头集合
     */
    internetMessageHeaders?: {
        [key: string]: any;
    };
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * uniqid@dingtalk.com
     */
    internetMessageId?: Readable;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * false
     */
    isReadReceiptRequested?: boolean;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * PRY_NORMAL
     */
    priority?: Readable;
    /**
     * @remarks
     * This parameter is required.
     */
    replyTo?: Recipient;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * 主题
     */
    subject?: Readable;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * 一般取邮件正文的前一段
     */
    summary?: Readable;
    /**
     * @remarks
     * This parameter is required.
     */
    tags?: Readable[];
    /**
     * @remarks
     * This parameter is required.
     */
    toRecipients?: Recipient[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class Message extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    bccRecipients?: Recipient[];
    /**
     * @remarks
     * This parameter is required.
     */
    ccRecipients?: Recipient[];
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * conversationid
     */
    conversationId?: Readable;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * 2
     */
    folderId?: Readable;
    /**
     * @remarks
     * This parameter is required.
     */
    from?: Recipient;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * false
     */
    hasAttachments?: boolean;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * mailid
     */
    id?: Readable;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * 由RFC5322定义的邮件头集合
     */
    internetMessageHeaders?: {
        [key: string]: any;
    };
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * uniqid@dingtalk.com
     */
    internetMessageId?: Readable;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * false
     */
    isForwarded?: boolean;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * false
     */
    isRead?: boolean;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * false
     */
    isReadReceiptRequested?: boolean;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * false
     */
    isReplied?: boolean;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * 2024-10-01T00:00:00Z
     */
    lastModifiedDateTime?: Readable;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * PRY_NORMAL
     */
    priority?: Readable;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * 2024-10-01T00:00:00Z
     */
    receivedDateTime?: Readable;
    /**
     * @remarks
     * This parameter is required.
     */
    replyTo?: Recipient;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * 2024-10-01T00:00:00Z
     */
    sentDateTime?: Readable;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * 主题
     */
    subject?: Readable;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * 一般取邮件正文的前一段
     */
    summary?: Readable;
    /**
     * @remarks
     * This parameter is required.
     */
    tags?: string[];
    /**
     * @remarks
     * This parameter is required.
     */
    toRecipients?: Recipient[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class Recipient extends $tea.Model {
    /**
     * @example
     * zhangsan@b.com
     */
    email?: Readable;
    /**
     * @example
     * ZhangSan
     */
    name?: Readable;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateMailFolderHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateMailFolderRequest extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    displayName?: string;
    extensions?: {
        [key: string]: any;
    };
    folerId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateMailFolderResponseBody extends $tea.Model {
    folder?: CreateMailFolderResponseBodyFolder;
    requestId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateMailFolderResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: CreateMailFolderResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateMessageHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateMessageRequest extends $tea.Model {
    message?: DraftMessage;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateMessageResponseBody extends $tea.Model {
    message?: Message;
    requestId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateMessageResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: CreateMessageResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateUserHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateUserRequest extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * user@yourcompany.org
     */
    email?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    employeeType?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    name?: string;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * password
     */
    password?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateUserResponseBody extends $tea.Model {
    email?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateUserResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: CreateUserResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DeleteMailFolderHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DeleteMailFolderResponseBody extends $tea.Model {
    requestId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DeleteMailFolderResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: DeleteMailFolderResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DeleteMessagesHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DeleteMessagesRequest extends $tea.Model {
    deleteType?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    ids?: string[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DeleteMessagesResponseBody extends $tea.Model {
    requestId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DeleteMessagesResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: DeleteMessagesResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetMessageHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetMessageRequest extends $tea.Model {
    selectFields?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetMessageResponseBody extends $tea.Model {
    message?: Message;
    requestId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetMessageResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: GetMessageResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListMailFoldersHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListMailFoldersRequest extends $tea.Model {
    folderId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListMailFoldersResponseBody extends $tea.Model {
    folders?: ListMailFoldersResponseBodyFolders[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListMailFoldersResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: ListMailFoldersResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListMessagesHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListMessagesRequest extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    maxResults?: number;
    nextToken?: string;
    selectFields?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListMessagesResponseBody extends $tea.Model {
    hasMore?: boolean;
    messages?: Message[];
    nextToken?: string;
    requestId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListMessagesResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: ListMessagesResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class MoveMailFolderHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class MoveMailFolderRequest extends $tea.Model {
    destinationFolderId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class MoveMailFolderResponseBody extends $tea.Model {
    requestId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class MoveMailFolderResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: MoveMailFolderResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class SendMessageHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class SendMessageRequest extends $tea.Model {
    saveToSentItems?: boolean;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class SendMessageResponseBody extends $tea.Model {
    requestId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class SendMessageResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: SendMessageResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class UpdateMailFolderHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class UpdateMailFolderRequest extends $tea.Model {
    displayName?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class UpdateMailFolderResponseBody extends $tea.Model {
    requestId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class UpdateMailFolderResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: UpdateMailFolderResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class UpdateMessageHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class UpdateMessageRequest extends $tea.Model {
    message?: DraftMessage;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class UpdateMessageResponseBody extends $tea.Model {
    message?: Message;
    requestId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class UpdateMessageResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: UpdateMessageResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DraftMessageBody extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    bodyHtml?: Readable;
    /**
     * @remarks
     * This parameter is required.
     */
    bodyText?: Readable;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateMailFolderResponseBodyFolder extends $tea.Model {
    childFolderCount?: number;
    displayName?: string;
    extensions?: {
        [key: string]: any;
    };
    id?: string;
    parentFolderId?: string;
    totalItemCount?: number;
    unreadItemCount?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListMailFoldersResponseBodyFolders extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    childFolderCount?: number;
    /**
     * @remarks
     * This parameter is required.
     */
    displayName?: string;
    extensions?: {
        [key: string]: string;
    };
    /**
     * @remarks
     * This parameter is required.
     */
    id?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    parentFolderId?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    totalItemCount?: number;
    /**
     * @remarks
     * This parameter is required.
     */
    unreadItemCount?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export default class Client extends OpenApi {
    constructor(config: $OpenApi.Config);
    /**
     * 创建邮件文件夹
     *
     * @param request - CreateMailFolderRequest
     * @param headers - CreateMailFolderHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns CreateMailFolderResponse
     */
    createMailFolderWithOptions(email: string, request: CreateMailFolderRequest, headers: CreateMailFolderHeaders, runtime: $Util.RuntimeOptions): Promise<CreateMailFolderResponse>;
    /**
     * 创建邮件文件夹
     *
     * @param request - CreateMailFolderRequest
     * @returns CreateMailFolderResponse
     */
    createMailFolder(email: string, request: CreateMailFolderRequest): Promise<CreateMailFolderResponse>;
    /**
     * 创建草稿
     *
     * @param request - CreateMessageRequest
     * @param headers - CreateMessageHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns CreateMessageResponse
     */
    createMessageWithOptions(email: string, request: CreateMessageRequest, headers: CreateMessageHeaders, runtime: $Util.RuntimeOptions): Promise<CreateMessageResponse>;
    /**
     * 创建草稿
     *
     * @param request - CreateMessageRequest
     * @returns CreateMessageResponse
     */
    createMessage(email: string, request: CreateMessageRequest): Promise<CreateMessageResponse>;
    /**
     * 创建企业邮箱用户
     *
     * @param request - CreateUserRequest
     * @param headers - CreateUserHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns CreateUserResponse
     */
    createUserWithOptions(request: CreateUserRequest, headers: CreateUserHeaders, runtime: $Util.RuntimeOptions): Promise<CreateUserResponse>;
    /**
     * 创建企业邮箱用户
     *
     * @param request - CreateUserRequest
     * @returns CreateUserResponse
     */
    createUser(request: CreateUserRequest): Promise<CreateUserResponse>;
    /**
     * 删除文件夹
     *
     * @param headers - DeleteMailFolderHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns DeleteMailFolderResponse
     */
    deleteMailFolderWithOptions(email: string, id: string, headers: DeleteMailFolderHeaders, runtime: $Util.RuntimeOptions): Promise<DeleteMailFolderResponse>;
    /**
     * 删除文件夹
     * @returns DeleteMailFolderResponse
     */
    deleteMailFolder(email: string, id: string): Promise<DeleteMailFolderResponse>;
    /**
     * 批量删除邮件
     *
     * @param request - DeleteMessagesRequest
     * @param headers - DeleteMessagesHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns DeleteMessagesResponse
     */
    deleteMessagesWithOptions(email: string, request: DeleteMessagesRequest, headers: DeleteMessagesHeaders, runtime: $Util.RuntimeOptions): Promise<DeleteMessagesResponse>;
    /**
     * 批量删除邮件
     *
     * @param request - DeleteMessagesRequest
     * @returns DeleteMessagesResponse
     */
    deleteMessages(email: string, request: DeleteMessagesRequest): Promise<DeleteMessagesResponse>;
    /**
     * 获取邮件元数据
     *
     * @param request - GetMessageRequest
     * @param headers - GetMessageHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetMessageResponse
     */
    getMessageWithOptions(email: string, id: string, request: GetMessageRequest, headers: GetMessageHeaders, runtime: $Util.RuntimeOptions): Promise<GetMessageResponse>;
    /**
     * 获取邮件元数据
     *
     * @param request - GetMessageRequest
     * @returns GetMessageResponse
     */
    getMessage(email: string, id: string, request: GetMessageRequest): Promise<GetMessageResponse>;
    /**
     * 获取指定文件夹的子文件夹列表
     *
     * @param request - ListMailFoldersRequest
     * @param headers - ListMailFoldersHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ListMailFoldersResponse
     */
    listMailFoldersWithOptions(email: string, request: ListMailFoldersRequest, headers: ListMailFoldersHeaders, runtime: $Util.RuntimeOptions): Promise<ListMailFoldersResponse>;
    /**
     * 获取指定文件夹的子文件夹列表
     *
     * @param request - ListMailFoldersRequest
     * @returns ListMailFoldersResponse
     */
    listMailFolders(email: string, request: ListMailFoldersRequest): Promise<ListMailFoldersResponse>;
    /**
     * 获取邮件列表
     *
     * @param request - ListMessagesRequest
     * @param headers - ListMessagesHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ListMessagesResponse
     */
    listMessagesWithOptions(email: string, folderId: string, request: ListMessagesRequest, headers: ListMessagesHeaders, runtime: $Util.RuntimeOptions): Promise<ListMessagesResponse>;
    /**
     * 获取邮件列表
     *
     * @param request - ListMessagesRequest
     * @returns ListMessagesResponse
     */
    listMessages(email: string, folderId: string, request: ListMessagesRequest): Promise<ListMessagesResponse>;
    /**
     * 移动文件夹
     *
     * @param request - MoveMailFolderRequest
     * @param headers - MoveMailFolderHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns MoveMailFolderResponse
     */
    moveMailFolderWithOptions(email: string, id: string, request: MoveMailFolderRequest, headers: MoveMailFolderHeaders, runtime: $Util.RuntimeOptions): Promise<MoveMailFolderResponse>;
    /**
     * 移动文件夹
     *
     * @param request - MoveMailFolderRequest
     * @returns MoveMailFolderResponse
     */
    moveMailFolder(email: string, id: string, request: MoveMailFolderRequest): Promise<MoveMailFolderResponse>;
    /**
     * 发送邮件
     *
     * @param request - SendMessageRequest
     * @param headers - SendMessageHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SendMessageResponse
     */
    sendMessageWithOptions(email: string, id: string, request: SendMessageRequest, headers: SendMessageHeaders, runtime: $Util.RuntimeOptions): Promise<SendMessageResponse>;
    /**
     * 发送邮件
     *
     * @param request - SendMessageRequest
     * @returns SendMessageResponse
     */
    sendMessage(email: string, id: string, request: SendMessageRequest): Promise<SendMessageResponse>;
    /**
     * 修改文件夹信息
     *
     * @param request - UpdateMailFolderRequest
     * @param headers - UpdateMailFolderHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateMailFolderResponse
     */
    updateMailFolderWithOptions(email: string, id: string, request: UpdateMailFolderRequest, headers: UpdateMailFolderHeaders, runtime: $Util.RuntimeOptions): Promise<UpdateMailFolderResponse>;
    /**
     * 修改文件夹信息
     *
     * @param request - UpdateMailFolderRequest
     * @returns UpdateMailFolderResponse
     */
    updateMailFolder(email: string, id: string, request: UpdateMailFolderRequest): Promise<UpdateMailFolderResponse>;
    /**
     * 修改草稿
     *
     * @param request - UpdateMessageRequest
     * @param headers - UpdateMessageHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateMessageResponse
     */
    updateMessageWithOptions(email: string, id: string, request: UpdateMessageRequest, headers: UpdateMessageHeaders, runtime: $Util.RuntimeOptions): Promise<UpdateMessageResponse>;
    /**
     * 修改草稿
     *
     * @param request - UpdateMessageRequest
     * @returns UpdateMessageResponse
     */
    updateMessage(email: string, id: string, request: UpdateMessageRequest): Promise<UpdateMessageResponse>;
}
