/** Gradle dependency a pattern needs the host app to add. */ export interface RequiredGradleDep { /** Configuration name as it appears in `dependencies { ... }`. */ configuration: "implementation" | "debugImplementation" | "testImplementation" | "androidTestImplementation"; /** Maven coordinate string, e.g. "com.squareup.okhttp3:okhttp:4.12.0". */ notation: string; /** Which file the dep block lives in. */ appliedIn: "app/build.gradle.kts"; } /** Gradle plugin a pattern needs the host app to declare. */ export interface RequiredGradlePlugin { /** Plugin id, e.g. "org.jetbrains.kotlin.plugin.serialization". */ id: string; /** Version string — only set on the root declaration. */ version?: string; /** Which file the plugin block lives in. */ appliedIn: "root build.gradle.kts" | "app/build.gradle.kts"; /** When true, root declaration carries `apply false`; the app file * declares the same plugin id with no version to actually apply it. */ applyFalse?: boolean; /** Free-text caveat the agent should read before applying. */ note?: string; } /** Swift Package Manager dependency a pattern needs (iOS host). */ export interface RequiredSwiftPackage { /** Repository URL. */ url: string; /** Version spec, e.g. "1.2.0" used with `.upToNextMajor(from:)`. */ from: string; /** Library products to add to the target. */ products: string[]; } export interface CodeExample { pattern: string; title: string; description: string; code: { kotlin: string; swift: string; }; explanation: string; gotchas: string[]; relatedFeatures: string[]; /** * Extra Gradle / SPM deps the host app must add for this pattern's * `code` block to compile. Omitted on patterns that need nothing * beyond the SDK + stdlib. Surfaced verbatim by getCodeExample so * agents can merge the union of deps from every pattern they use into * the build files without scraping `code` comments (R2 F-R2-8). */ requiredDependencies?: { android?: RequiredGradleDep[]; iosSwiftPackages?: RequiredSwiftPackage[]; }; /** * Gradle plugins this pattern needs. Plugins typically appear TWICE: * once in the root `build.gradle.kts` plugins block (with `version` + * `applyFalse: true`), once in `app/build.gradle.kts` plugins block * (with no version) to actually take effect. iOS has no plugin * concept; SPM handles its own bootstrapping. */ requiredPlugins?: { android?: RequiredGradlePlugin[]; }; } export declare const CODE_EXAMPLES: Record; export declare const CODE_EXAMPLE_PATTERNS: string[]; //# sourceMappingURL=codeExamples.d.ts.map