/** * CLI command: generate-sdk * * Reads collection definitions from a specified directory (default: ./config/collections), * generates a typed TypeScript SDK, and writes it to the output directory (default: ./generated/sdk). * * Uses jiti for dynamic TypeScript import of collection files. */ interface GenerateSDKArgs { collectionsDir: string; output: string; cwd: string; /** * Where to read the schema from instead of local source. * * `link` uses this checkout's linked project; anything else is treated as * the base URL of a Rebase backend. This is what lets a repository that * contains no collections — a separate frontend, a second web app — generate * a typed client from the project it talks to. */ from?: string; /** Bearer token for the contract endpoint. Falls back to REBASE_SERVICE_KEY. */ token?: string; help?: boolean; } /** * The base URL to show in the printed usage example. * * `rebase dev` binds a port derived from the project path, not 3001, and writes * the one it actually got to `.rebase/state.json`. Printing a hardcoded * `localhost:3001` sent people to a port nothing was listening on — or, with * several projects on one machine, to a different project's backend. Prefer the * port this project last ran on; fall back to the literal only when the project * has never been started. */ export declare function resolveExampleBaseUrl(cwd: string): string; /** Whether a slug can be written as `rebase.data.` rather than a lookup. */ export declare function isIdentifierLike(slug: string): boolean; /** * Main entry point for the generate-sdk command. */ export declare function generateSdkCommand(args: GenerateSDKArgs): Promise; export {};