interface NapCatConfig {
    baseUrl: string;
    accessToken?: string;
    timeoutMs?: number;
}
type OneBotStatus = 'ok' | 'failed';
interface OneBotActionResponse<TData = unknown> {
    status: OneBotStatus;
    retcode: number;
    data?: TData;
    message?: string;
    wording?: string;
    echo?: string;
}
interface OneBotGroupInfo {
    group_id: number;
    group_name: string;
    member_count?: number;
    max_member_count?: number;
}
interface OneBotFriendInfo {
    user_id: number;
    nickname: string;
    remark?: string;
}
interface SendGroupMessagePayload {
    group_id: number;
    message: string;
    auto_escape?: boolean;
}
interface SendPrivateMessagePayload {
    user_id: number;
    message: string;
    auto_escape?: boolean;
}
interface NapCatWebApiResponse<T = unknown> {
    ok: boolean;
    data?: T;
    error?: string;
}
interface NapCatWebhookEvent {
    post_type?: string;
    message_type?: string;
    notice_type?: string;
    request_type?: string;
    self_id?: number;
    time?: number;
    [key: string]: unknown;
}

export type { NapCatConfig, NapCatWebApiResponse, NapCatWebhookEvent, OneBotActionResponse, OneBotFriendInfo, OneBotGroupInfo, OneBotStatus, SendGroupMessagePayload, SendPrivateMessagePayload };
