export declare type Object = {
    [prop: string]: any;
};
export declare function extend(dest: Object, ...srcs: Object[]): Object;
export declare function copyArray(arg: ArrayLike<any>): any[];
export declare function isType(value: any, type: string): boolean;
export declare function typeOf(value: any): string;
export declare function isThenable(obj: any): boolean;
export declare function lift<T>(fn: (...args: any[]) => T): (...args: any[]) => Promise<T>;
export declare let liftArgs: <T>(fn: (...args: any[]) => Promise<T>) => ((...args: any[]) => Promise<T>);
export declare let getProp: (...args: any[]) => Promise<any>;
export declare function ensureExtension(fileName: string, extension: string): string;
export declare function replaceExtension(fileName: string, extension: string): string;
export declare function prettyJSON(o: any): string;
export declare function deepLookup(o: Object, path: string[]): Object | undefined;
export declare function quoteString(s: string): string;
export declare function arrayIncludes(a: any[], e: any): boolean;
export declare function extendArray(target: any[], src: any[]): any[];
export declare function or(target: any, src: any): any;
export declare function ensureObjectPath(obj: Object, parts: string[]): Object;
export declare function pruneEmptyChildren(obj: Object): boolean;
export declare function deletePropName(obj: Object, name: string): void;
export declare function formatColumns(indent: number, lines: string[][]): string[];
