export interface SharedData { text?: string; url?: string; images?: string[]; webpageUrl?: string; webpageTitle?: string; preprocessedData?: any; } type ExtensionNativeModule = { closeExtension: () => void; openHostApp: (path: string) => void; getSharedData: () => SharedData | null; }; /** * Resolve the ExpoTargetsExtension native module. * Returns null when unavailable (wrong platform, missing native build, or host app). */ export declare function getExtensionNativeModule(): ExtensionNativeModule | null; /** * Cross-type RN extension lifecycle helpers (share, action, clip, messages). * * Contract: * - Call from the extension JS bundle (not Expo Go). * - `createTarget(name, Component)` registers the component via AppRegistry; `name` must match config. * - `getSharedData` / `close` / `openHostApp` require the ExpoTargetsExtension native module. * - Messages adds APIs on top of this contract (see Messages module). * - Android: requires a target Activity (Wave 0 harness or Wave 1 Share/Action Activity). */ export declare class Extension { /** Dismiss the extension UI (share/action). */ close(): void; /** Open the host app, optionally with a path/URL fragment. */ openHostApp(path?: string): void; /** Read content shared into the extension (text, URLs, images, …). */ getSharedData(): SharedData | null; } export declare const close: () => void; export declare const openHostApp: (path?: string) => void; export declare const getSharedData: () => SharedData | null; export type { SharedData as ExtensionSharedData }; //# sourceMappingURL=index.d.ts.map