import { ProxifiedModule } from 'magicast';
import * as recast from 'recast';
import x = recast.types;
import t = x.namedTypes;
export declare function findMetroConfigPath(): string | undefined;
export declare function patchMetroWithSentryConfig(): Promise<void>;
export declare function patchMetroWithSentryConfigInMemory(mod: ProxifiedModule, metroConfigPath: string, skipInstructions?: boolean): Promise<boolean>;
export declare function parseMetroConfig(configPath: string): Promise<ProxifiedModule | undefined>;
export declare function writeMetroConfig(mod: ProxifiedModule, configPath: string): Promise<boolean>;
export declare function addSentrySerializerToMetroConfig(configObj: t.ObjectExpression): boolean;
export declare function addSentrySerializerRequireToMetroConfig(program: t.Program): boolean;
export declare function addSentryMetroRequireToMetroConfig(program: t.Program): boolean;
/**
 * Returns value from `module.exports = value` or `const config = value`
 */
export declare function getMetroConfigObject(program: t.Program): t.ObjectExpression | undefined;
export declare function getModuleExportsAssignmentRight(program: t.Program): t.Identifier | t.CallExpression | t.ObjectExpression | undefined;
