import { ProjectPlugin, ProjectPluginStructure } from '@teleporthq/teleport-types'; export declare class NextEcommerceProjectPlugin implements ProjectPlugin { runBefore(structure: ProjectPluginStructure): Promise; runAfter(structure: ProjectPluginStructure): Promise; /** * The routes and pages a site needs to take an online payment — the store's * checkout or, on a site without a store, its bookings: PayPal's capture, the * confirmation the paying page asks while the provider confirms, and the * pages that open a provider's checkout in the browser. */ private generatePaymentRoutes; private resolveDataSource; private generateContextFile; /** * The two halves of project-asset resolution: the shared * `utils/ecommerce/asset-urls` module (id → URL contract, plus the browser's * batched lookup) and the `/api/ecommerce/assets` route that reads the * `teleport_assets` mirror for it. * * Emitted together, and only when the datasource can answer the route — * `generateEcommerceContextFileContent` gates its `import` on exactly the * same condition, so the module is never imported without being written and * never written without a caller. */ private generateAssetUrlFiles; private generateApiRoutes; private addDependencies; /** * Every saved provider credential as a placeholder the deploy resolves to * its stored secret. A store exported before the UIDL carried the secret * names gets the canonical Stripe / PayPal lines empty, as before: the * deploy fills those from the project's secrets by name. */ private addPaymentEnvVars; private addEnvVars; private injectProviderIntoApp; } //# sourceMappingURL=project-plugin.d.ts.map