import { ResultType } from '../common/data-type';
/**
 * @public
 * @class SelectionController
 */
declare class SelectionController {
    private apiClassName;
    private selections;
    private obj;
    /**
     * @constructor
     * @param {any} obj
     */
    constructor(obj: any);
    /**
     * @public
     * @async
     * @function Add
     * @param {Array<Record<string, any>>} objects
     * @returns {Promise<ResultType>}
     */
    Add(objects: Array<Record<string, any>>): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function Get
     * @returns {Promise<Array<Record<string, any>>>}
     */
    Get(): Promise<Array<Record<string, any>>>;
    /**
     * @public
     * @async
     * @function Remove
     * @param {Array<Record<string, any>>} objects
     * @returns {Promise<ResultType>}
     */
    Remove(objects: Array<Record<string, any>>): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function Clear
     * @returns {Promise<ResultType>}
     */
    Clear(): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function Draw
     * @returns {Promise<ResultType>}
     */
    Draw(): Promise<ResultType>;
    /**
     * @public
     * @function handleCache
     * @param {Array<Record<string, any>>} objs
     * @param {string} type (optional) default value is 'add'
     */
    handleCache(objs: Array<Record<string, any>>, type?: string): void;
}
export default SelectionController;
