/** @packageDocumentation
 * @module AccuDraw
 */
import "./Calculator.scss";
import * as React from "react";
import { OnCancelFunc, OnNumberCommitFunc } from "@itwin/appui-abstract";
import { CommonProps } from "@itwin/core-react";
import { CalculatorEngine } from "./CalculatorEngine";
/** @alpha */
export interface CalculatorProps extends CommonProps {
    /** Initial value */
    initialValue?: number;
    /** Icon to display beside the calculated result */
    resultIcon?: React.ReactNode;
    /** A function to be run when the OK button is clicked */
    onOk?: OnNumberCommitFunc;
    /** A function to be run when the Cancel button is clicked */
    onCancel?: OnCancelFunc;
    /** @internal  Calculator state machine. */
    engine: CalculatorEngine;
}
interface CalculatorState {
    displayValue: string;
}
/** @internal */
export declare type CalculatorPropsProps = Pick<CalculatorProps, "engine">;
/** @alpha */
export declare class Calculator extends React.PureComponent<CalculatorProps, CalculatorState> {
    private _mainDiv;
    private _equalsClicked;
    /** @internal */
    static readonly defaultProps: CalculatorPropsProps;
    constructor(props: CalculatorProps);
    private _onValueButtonClick;
    private _onOperatorButtonClick;
    private _handleOk;
    private _ok;
    private _handleCancel;
    private _cancel;
    private _clearAll;
    componentDidMount(): void;
    private _mainDivFocus;
    render(): JSX.Element;
    private _handleKeyDown;
}
export {};
//# sourceMappingURL=Calculator.d.ts.map