/**
 * async_hooks shim - Async tracking is not available in browser
 */
export declare class AsyncResource {
    constructor(_type: string, _options?: object);
    runInAsyncScope<T>(fn: (...args: unknown[]) => T, thisArg?: unknown, ...args: unknown[]): T;
    emitDestroy(): this;
    asyncId(): number;
    triggerAsyncId(): number;
    static bind<T extends (...args: unknown[]) => unknown>(fn: T, _type?: string): T;
}
export declare class AsyncLocalStorage<T> {
    private store;
    disable(): void;
    getStore(): T | undefined;
    run<R>(store: T, callback: () => R): R;
    exit<R>(callback: () => R): R;
    enterWith(store: T): void;
}
export interface AsyncHook {
    enable(): this;
    disable(): this;
}
export declare function createHook(_callbacks: object): AsyncHook;
export declare function executionAsyncId(): number;
export declare function executionAsyncResource(): object;
export declare function triggerAsyncId(): number;
declare const _default: {
    AsyncResource: typeof AsyncResource;
    AsyncLocalStorage: typeof AsyncLocalStorage;
    createHook: typeof createHook;
    executionAsyncId: typeof executionAsyncId;
    executionAsyncResource: typeof executionAsyncResource;
    triggerAsyncId: typeof triggerAsyncId;
};
export default _default;
//# sourceMappingURL=async_hooks.d.ts.map