import { Point } from "@lincode/math";
import { LingoKeyboardEvent } from "../IKeyboard";
import { LingoMouseEvent, SimpleMouseEvent } from "../IMouse";
import { HitEvent } from "../IVisible";
import { Point3dType } from "../../utils/isPoint";
export declare class NullableCallbackParam {
    value?: string | number | boolean | undefined;
    allowInput: boolean;
    constructor(value?: string | number | boolean | undefined, allowInput?: boolean);
}
export type NullableCallbackParamType = Point3dType | Point | HitEvent | LingoMouseEvent | SimpleMouseEvent | LingoKeyboardEvent | NullableCallbackParam;
export declare const nullableCallbackVoidParam: NullableCallbackParam;
export declare const nullableCallbackNumberParam: NullableCallbackParam;
export declare const nullableCallbackDtParam: NullableCallbackParam;
export declare const nullableCallbackPtParam: Readonly<Point>;
export declare const isNullableCallbackParamInstance: (value: any) => value is NullableCallbackParam;
export default class NullableCallback {
    param: NullableCallbackParamType;
    constructor(param: NullableCallbackParamType);
}
export declare const nullableCallback: (value?: NullableCallbackParamType) => NullableCallback;
