import IMEnvironmentType from "../core/constant/IMEnvironmentType";
export interface SendMessageOption {
    aChatId: string;
    amid: string;
    content: string;
    type: number;
}
export declare type SendTextMessageOption = Pick<SendMessageOption, "aChatId" | "amid" | "content">;
export declare type SendAttachmentMessageOption = Pick<SendMessageOption, "aChatId" | "amid"> & {
    data: any;
};
export interface Delegate {
    authCodeExpire: (auid: String) => void;
    onShowUserinfo: (auids: string[]) => void;
    onReceiveMessages?: (amids: string[]) => void;
}
export declare type IMSdkEnv = keyof typeof IMEnvironmentType;
export interface CreateChatOptions {
    aChatId: string;
    chatName?: string;
    auids: Array<string>;
    delegate: {
        onSucc: () => void;
        onError: (e: {
            code?: number;
            errorMsg?: string;
        }) => void;
    };
}
export interface UserInfo {
    auid: string;
    item: {
        avatar: string;
        name: string;
    };
}
export interface ChatDelegate {
    onCardMessageClick?: (amid: string, buttonId: string) => void;
    onMiddleMessageClick?: (amid: string, tmpId: string, buttonId: string) => void;
    onNotificationMessageClick?: (amid: string, buttonId: string) => void;
}
export interface ConversationDelegate {
    onItemClick?: (aChatId: string) => void;
}
export interface ConversationSelector {
    select: () => string[];
    unselect: () => string[];
}
export interface ConversationFolderOptions {
    aChatId: string;
    content: string;
    name: string;
    imageData: string;
}
