import { SmartEditOperation } from '../AdaptableOptions/EditOptions';
import { MathOperation } from '../AdaptableState/Common/Enums';
import { SmartEditCustomOperation } from '../types';
/**
 * Provides run-time access to the Smart Edit Module
 **/
export interface SmartEditApi {
    /**
     * Sets (shipped) Smart Edit Operation: 'Add','Subtract','Multiply','Divide'
     * @param operation operation to run
     */
    setSmartEditOperation(operation: MathOperation): void;
    /**
     * Sets current Smart Edit Operation to a Custom Operation
     * @param customOperationName name of Custom Smart Edit Operation
     */
    setCustomSmartEditOperation(customOperationName: string): void;
    /**
     * Gets current Smart Edit Operation
     */
    getSmartEditOperation(): SmartEditOperation;
    /**
     * Sets Smart Edit Value
     * @param smartEditValue the value to use in Smart Edit Operation
     */
    setSmartEditValue(smartEditValue: number): void;
    /**
     * Returns current Smart Edit Value
     */
    getSmartEditValue(): number;
    /**
     * Opens Settings Panel with Smart Edit section selected and visible
     */
    openSmartEditSettingsPanel(): void;
    /**
     * Retrieves an Smart Edit Custom Operations (provided in Edit Options)
     */
    getSmartEditCustomOperations(): SmartEditCustomOperation[];
}
