export declare class Functions { static functionToScript(func: (...args: any[]) => void, ...args: any[]): string; static toScript(func: (...args: any[]) => void, ...args: any[]): string; static _anonymizeFunction(func: string): string; static forDict(dict: { [key: string]: any; }, callback: KeyValueCallback): void; static forOwnKeys(dict: { [key: string]: any; }, callback: KeyValueCallback): Promise; static withTimeout(callback: () => any, timeout?: number): void; static waitFor(timeout: number): Promise; static createAsyncSingleton(delegate: () => Promise): () => Promise; } export declare type KeyValueCallback = (key: string, value: any) => void; export declare function forDict(dict: { [key: string]: any; }, callback: KeyValueCallback): void; export declare function forOwnKeys(dict: { [key: string]: any; }, callback: KeyValueCallback): Promise; export declare function nullableCallback(delegate: Callback1 | undefined): Callback1; export declare type Callback = () => void; export declare type Callback1 = (value: A) => void; export declare type Callback2 = (a: A, b: B) => void; export declare type Callback3 = (a: A, b: B, c: C) => void; export declare const NULL_FUNCTION: () => void; export declare const ASYNC_NULL_FUNCTION: () => Promise;