import { Box } from "../editor/boxes/Box";
import { PiKey } from "../util/Keys";
import { PiContainerDescriptor, PiElement, PiExpression } from "../language/PiModel";
import { PiEditor } from "../editor/PiEditor";
export declare type BooleanCallback = () => boolean;
export declare type DynamicBoolean = BooleanCallback | boolean;
export declare const wait: (ms: number) => Promise<unknown>;
export declare const NBSP: string;
export declare class PiUtils {
    static initializeObject<TTarget, TSource>(target: TTarget, source: TSource): void;
    static CHECK(b: boolean, msg?: string): void;
    static setContainer(exp: PiElement, piContainer: PiContainerDescriptor | null, editor: PiEditor): void;
    static replaceExpression(oldExpression: PiExpression, newExpression: PiExpression, editor: PiEditor): void;
    static handleKeyboardShortcut(piKey: PiKey, box: Box, editor: PiEditor): Promise<boolean>;
}
export declare function initializeObject<TTarget, TSource>(target: TTarget, source: TSource): void;
//# sourceMappingURL=PiUtils.d.ts.map