import * as lark from '@larksuiteoapi/node-sdk';
import { Setting } from './types';
export { lark };
/**
 * Get lark client
 *
 * @param setting
 * @returns
 */
export declare function getLarkClient(setting: Setting): lark.Client;
/**
 * Reply message
 *
 * @param client
 * @param messageId
 * @param content
 * @returns
 */
export declare function reply(client: lark.Client, messageId: string, content: string): Promise<{
    code?: number | undefined;
    msg?: string | undefined;
    data?: {
        message_id?: string | undefined;
        root_id?: string | undefined;
        parent_id?: string | undefined;
        msg_type?: string | undefined;
        create_time?: string | undefined;
        update_time?: string | undefined;
        deleted?: boolean | undefined;
        updated?: boolean | undefined;
        chat_id?: string | undefined;
        sender?: {
            id: string;
            id_type: string;
            sender_type: string;
            tenant_key?: string | undefined;
        } | undefined;
        body?: {
            content: string;
        } | undefined;
        mentions?: {
            key: string;
            id: string;
            id_type: string;
            name: string;
            tenant_key?: string | undefined;
        }[] | undefined;
        upper_message_id?: string | undefined;
    } | undefined;
} | undefined>;
/**
 * Build progressive message card
 *
 * @param content
 * @returns
 */
export declare function buildProgressiveCard(content: string): lark.InteractiveCard;
/**
 * Replay an interactive card
 *
 * @param messageId
 * @param card
 * @returns
 */
export declare function replyCard(client: lark.Client, messageId: string, card: lark.InteractiveCard): Promise<{
    code?: number | undefined;
    msg?: string | undefined;
    data?: {
        message_id?: string | undefined;
        root_id?: string | undefined;
        parent_id?: string | undefined;
        msg_type?: string | undefined;
        create_time?: string | undefined;
        update_time?: string | undefined;
        deleted?: boolean | undefined;
        updated?: boolean | undefined;
        chat_id?: string | undefined;
        sender?: {
            id: string;
            id_type: string;
            sender_type: string;
            tenant_key?: string | undefined;
        } | undefined;
        body?: {
            content: string;
        } | undefined;
        mentions?: {
            key: string;
            id: string;
            id_type: string;
            name: string;
            tenant_key?: string | undefined;
        }[] | undefined;
        upper_message_id?: string | undefined;
    } | undefined;
} | undefined>;
/**
 * Replay an interactive card
 *
 * @param messageId
 * @param card
 * @returns
 */
export declare function editCard(client: lark.Client, messageId: string, card: lark.InteractiveCard): Promise<{
    code?: number | undefined;
    msg?: string | undefined;
    data?: {} | undefined;
} | undefined>;
export interface LarkEncryptedMessage {
    encrypt: boolean;
    [key: string]: any;
}
export interface LarkReceivedMessage {
    schema: string;
    header: {
        app_id: string;
        create_time: string;
        event_id: string;
        event_type: 'im.message.receive_v1';
        tenant_key: string;
        token: string;
    };
    event: {
        sender: {
            sender_id: {
                open_id: string;
                union_id: string;
                user_id: string;
            };
            sender_type: unknown;
        };
        message: {
            chat_id: string;
            chat_type: 'group' | 'p2p';
            content: string;
            create_time: string;
            mentions: {
                id: {
                    open_id: string;
                    union_id: string;
                    user_id: string;
                };
                key: string;
                name: string;
                tenant_key: string;
            }[];
            message_id: string;
            message_type: 'post' | 'text';
            root_id?: string;
            parent_id?: string;
        };
    };
}
//# sourceMappingURL=lark.d.ts.map