import { UIModule, UICmdEnum as CmdEnum } from '../../core';
import { Info, LoadingInfo } from '../../core/libs/protocol/ui';
export default class UI extends UIModule {
    [CmdEnum.pick]<T>(list: ({
        name: string;
        value: T;
    } | T)[], message?: string): Promise<T>;
    [CmdEnum.showInfo](info: Info): void;
    [CmdEnum.confirm](info: Info & {
        default?: boolean;
    }): Promise<boolean>;
    [CmdEnum.input](info: {
        placeholder: string;
        label?: string;
        checker?: (res: string) => boolean | Promise<boolean>;
        default?: string;
    }): Promise<string>;
    [CmdEnum.openPage](url: string, options?: {
        forceChrome?: boolean;
    }): Promise<void>;
    [CmdEnum.link](url: string, tooltip?: string): string;
    [CmdEnum.dialog](info: Info): void;
    [CmdEnum.showLoading](info: LoadingInfo): {
        hideLoading: () => void;
    };
    [CmdEnum.multiPick]<T>(list: ({
        name: string;
        value: T;
    } | T)[], message?: string | undefined): Promise<T[]>;
}
