import { Schema } from 'koishi';
export type WecomButtonTypes = 'click' | 'view' | 'scancode_push' | 'scancode_waitmsg' | 'pic_sysphoto' | 'pic_photo_or_album' | 'pic_weixin' | 'location_select' | 'view_miniprogram';
export interface WecomButton {
    type: WecomButtonTypes;
    name: string;
    key?: string;
    url?: string;
    pagepath?: string;
    appid?: string;
}
export interface WecomParentButton {
    name: string;
    sub_button: WecomButton[];
}
export interface WecomMenuDef {
    type: WecomButtonTypes | 'parent';
    name: string;
    command?: string;
    children?: (Omit<WecomMenuDef, 'children'> & {
        type: WecomButtonTypes;
    })[];
    url?: string;
    pagePath?: string;
    mediaId?: string;
}
export declare const WecomMenuDef: Schema<WecomMenuDef>;
export declare const adaptMenu: (menu: WecomMenuDef, registerMap?: Map<string, string>) => WecomButton | WecomParentButton;
export interface WecomMenu {
    button: WecomButton[];
}
