import { Basic } from '../common/basic';
import { ResultType, IPickerMaterial } from '../common/data-type';
/**
 * @public
 * @class PickerMaterialController
 * @extends Basic
 */
declare class PickerMaterialController extends Basic {
    private Action;
    pickerMaterialDataList: Array<IPickerMaterial>;
    /**
     * @constructor
     * @param {any} obj
     */
    constructor(obj: any);
    /**
     * @public
     * @async
     * @function StartPickMaterial
     * @param {{bContinuous?: boolean, func?: Function}} opt
     * @returns {Promise<ResultType>}
     */
    Start(opt?: {
        bContinuous?: boolean;
        func?: (e: any) => Promise<void> | void;
    }): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function EndPickMaterial
     * @returns {Promise<ResultType>}
     */
    End(): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function GetPickedMaterials
     * @returns {Promise<ResultType>}
     */
    GetMaterials(): Promise<ResultType>;
}
export default PickerMaterialController;
