import { AtomController } from './common/atom-controller';
import { ResultType } from './common/data-type';
import { IDefaultActionSetting, IGizmoSetting } from './common/interface/setting';
/**
 * @public
 * @class SettingController
 * @extends AtomController
 */
declare class SettingController extends AtomController {
    private apiClassName;
    private WdpActionSettingsAPI;
    private SettingValidate;
    private Visual;
    /**
     * @constructor
     * @param {any} obj
     */
    constructor(obj: any);
    /**
     * @public
     * @function GetValiDateState
     * @returns {boolean | undefined}
     */
    GetValiDateState(): boolean | undefined;
    /**
     * @public
     * @function
     * @param {boolean} v
     * @returns {void}
     */
    SetValiDateState(v: boolean): void;
    /**
     * @public
     * @async
     * @function GetApiVersion
     * @returns {Promise<ResultType>}
     */
    GetApiVersion(): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function SetCoordType
     * @param {number} coordZTypeValue
     * @returns {Promise<ResultType>}
     */
    SetCoordType(coordZTypeValue: number): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function GetCoordType
     * @returns {Promise<ResultType>}
     */
    GetCoordType(): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function SetCoordZType
     * @param {number} coordZTypeValue
     * @returns {Promise<ResultType>}
     */
    SetCoordZType(coordZTypeValue: number): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function GetCoordZType
     * @returns {Promise<ResultType>}
     */
    GetCoordZType(): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function SetAudioVolume
     * @param {number} volume
     * @returns {Promise<ResultType>}
     */
    SetAudioVolume(volume: number): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function SetMode
     * @param {string} mode (default value is 'Runtime')
     * @returns {Promise<ResultType>}
     */
    SetMode(mode?: string): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function SetDefaultActionSetting
     * @param {IDefaultActionSetting} opt
     * @returns {Promise<ResultType>}
     */
    SetDefaultActionSetting(opt: IDefaultActionSetting): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function SetGizmoSetting
     * @param {IGizmoSetting} opt (default value is {})
     * @returns {Promise<ResultType>}
     */
    SetGizmoSetting(opt?: IGizmoSetting): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function SetEditShapeActionSetting
     * @param {{editMode?: string, lineWidth?: number}} opt
     * @returns {Promise<ResultType>}
     */
    SetEditShapeActionSetting(opt: {
        editMode?: string;
        lineWidth?: number;
    }): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function SetOutlineThickness
     * @param {number} thickness
     * @returns {Promise<ResultType>}
     */
    SetOutlineThickness(thickness: number): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function GetOutlineThickness
     * @returns {Promise<ResultType>}
     */
    GetOutlineThickness(): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function SetVisualColorStyle
     * @param {string} styleName
     * @param {string} color
     * @returns {Promise<ResultType>}
     */
    SetVisualColorStyle(styleName: string, color: string): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function GetVisualColorStyle
     * @returns {Promise<ResultType>}
     */
    GetVisualColorStyle(): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function SetScreenPercentage
     * @param {number} screenPercentage
     * @returns {Promise<ResultType>}
     */
    SetScreenPercentage(screenPercentage: number): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function GetScreenPercentage
     * @returns {Promise<ResultType>}
     */
    GetScreenPercentage(): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function SetCacheFrameTimes
     * @param {number} limits
     * @returns {Promise<ResultType>}
     */
    SetCacheFrameTimes(times?: number): Promise<ResultType>;
}
export default SettingController;
