export declare function guuid(): string;
export declare function iAmAServiceWindow(): Boolean;
export declare function isServiceInWindow(serviceName: any): any;
export declare const fastClone: (obj: any) => any;
/**
 * A custom timeout which features a 'cleared' flag
 * to indicate a timer has run
 */
export declare class Timeout {
    fired: boolean;
    id: any;
    /**
     * Constructs a new Timeout
     * @param {Function} fn The function to run when the timer is reached
     * @param {number} interval The number of milliseconds until the function runs
     */
    constructor(fn: any, interval: any);
    clear(): void;
    didFire(): boolean;
}
/** Returns exactly what's passed to it. Useful for higher-order functions. */
export declare function identity<T>(arg: T): T;
/**
 * Wraps a callback accepting function in a promise. The callback must have the type
 * specified in StandardCallback, and the wrapped function *MUST* call the callback
 * on all possible code paths.
 */
export declare function promisify<T = any>(f: any, thisContext?: any): (...args: any[]) => Promise<T>;
/**
 * Composes an array of functions together, producing
 * a new function that is the result of applying each
 * function from right to left on its arguments.
 *
 * @example
 * const add1 = x => x + 1;
 * const multiply3 = x => x * 3
 * const mulityply3Add1 = composeRL(add1, multiply3);
 * mulityply3Add1(4); // => 13
 */
export declare const composeRL: (...fns: any[]) => any;
export declare function getRandomWindowName(baseName?: string): string;
/**
 * Creates a promise that rejcts after the specified time with
 * the given message.
 */
export declare function timeoutPromise(ms: any, message: string): Promise<unknown>;
/**
 * Wraps a promise in another promise that either rejects after the specified number of milliseconds
 * or resolves with the result of the promise.
 */
export declare function wrapWithTimeout<T>(promise: Promise<T>, ms: number, message: string): Promise<T>;
/**
 * Will determine if a given window is a StackedWindow. Returns true if the window is a
 * StackedWindow, false otherwise
 * @param {FinsembleWindow} win The window to check for StackedWindow
 */
export declare function isStackedWindow(win: any): any;
/**
 * Deep equal doesn't work properly if the objects aren't exactly equal
 * We have several places in the code that attach extra parameters to bounds objects
 * This function will test equality on bounds for the only left, right, top, bottom, width and height
 * @param {} bounds1
 * @param {*} bounds2
 */
export declare function checkIfBoundsAreEqual(bounds1: any, bounds2: any): boolean;
/**
 * Uses set timeout to provide a mechanism like sleep. e.g. await sleep(1000). Can be used in conjunction with Promise.race to implement timeouts.
 *
 * @export
 * @param {Number} ms number of milliseconds to wait for
 * @param {Boolean} rejectPromise if true, will reject instead of resolving the promise
 * @returns
 */
export declare function sleep(ms: any, rejectPromise?: boolean): Promise<unknown>;
/**
 * Like isEqual but Array order is ignored
 * @param value1
 * @param value2
 */
export declare const isEqualIgnoringArrayOrder: (value1: any, value2: any) => boolean;
/**
 * Given a config value, will attempt to pull a value from the config by searching newPath.newValue, then fall back to newPath.oldValue,
 * then fall back to oldPath.newValue, then fall back to oldPath.oldValue, then fall back to a provided default
 *
 * @param {object} data The json config to search
 * @param {object} params The parameters to perform the search
 * @param {string} params.baseString The base string of the path to search (this piece is unchanging)
 * @param {string} params.newPath The new path to search (e.g. "windowService")
 * @param {string} params.oldPath The old path to search (e.g. "dockingService")
 * @param {string || array} params.oldValue The old value (or paths if an array) to search for
 * @param {string} params.newValue The new value to search for
 * @param {string} default
 */
export declare function checkDeprecatedConfigs(data: any, params: any, defaultValue: any): any;
//# sourceMappingURL=disentangledUtils.d.ts.map