import { Schema } from "effect"; //#region src/lib/types.d.ts /** * A generated content entry from a template. * * Templates produce content with a logical name and suggested filename. * The consumer decides where (and whether) to write the content. * * @public */ interface TemplateEntry { /** Logical name for this entry (e.g., "tsconfig", "biome", "vscode-settings") */ readonly name: string; /** Suggested default filename (e.g., "tsconfig.json", ".vscode/settings.json") */ readonly filename: string; /** The generated file content */ readonly content: string; } /** * A template: typed options in, content entries out. * * @public */ type Template = (options: O) => TemplateEntry[]; /** * An update template: existing content + partial options in, content entries out. * * @public */ type UpdateTemplate = (existing: string, options: Partial) => TemplateEntry[]; //#endregion //#region src/lib/biome/index.d.ts /** * Options for generating a Biome configuration file. * * @public */ export declare const BiomeOptions: Schema.Struct<{ readonly version: Schema.String; readonly extends: Schema.optional>; readonly root: Schema.optional; }>; /** * The decoded type of {@link BiomeOptions}. * * @public */ type BiomeOptionsType = typeof BiomeOptions.Type; /** * Generates a `biome.jsonc` configuration file entry. * * @param options - the Biome configuration options * @returns an array containing the generated `biome.jsonc` entry * @public */ export declare function createBiome(options: unknown): TemplateEntry[]; //#endregion //#region src/lib/changeset/index.d.ts /** * Options for generating a Changesets configuration file. * * @public */ export declare const ChangesetOptions: Schema.Struct<{ readonly access: Schema.withDecodingDefaultType, never>; readonly baseBranch: Schema.withDecodingDefaultType; readonly changelog: Schema.withDecodingDefaultType; readonly repo: Schema.optional; }>; /** * The decoded type of {@link ChangesetOptions}. * * @public */ type ChangesetOptionsType = typeof ChangesetOptions.Type; /** * Generates a `.changeset/config.json` configuration file entry. * * @param options - the Changesets configuration options * @returns an array containing the generated changeset config entry * @public */ export declare function createChangeset(options: unknown): TemplateEntry[]; //#endregion //#region src/lib/gitignore/index.d.ts /** * Options for generating a `.gitignore` file. * * @public */ export declare const GitignoreOptions: Schema.Struct<{ readonly sections: Schema.optional; readonly build: Schema.optional; readonly env: Schema.optional; readonly os: Schema.optional; readonly silk: Schema.optional; }>>; readonly additional: Schema.optional>; }>; /** * The decoded type of {@link GitignoreOptions}. * * @public */ type GitignoreOptionsType = typeof GitignoreOptions.Type; /** * Generates a `.gitignore` file entry. * * @param options - the gitignore configuration options * @returns an array containing the generated `.gitignore` entry * @public */ export declare function createGitignore(options: unknown): TemplateEntry[]; //#endregion //#region src/lib/package-json/index.d.ts /** * Options for generating a `package.json` file. * * @public */ export declare const PackageJsonOptions: Schema.Struct<{ readonly name: Schema.String; readonly version: Schema.withDecodingDefaultType; readonly private: Schema.optional; readonly description: Schema.optional; readonly homepage: Schema.optional; readonly bugs: Schema.optional>; readonly repository: Schema.optional; }>>; readonly license: Schema.optional; readonly author: Schema.optional; readonly url: Schema.optional; }>>; readonly sideEffects: Schema.optional; readonly type: Schema.optional>; readonly exports: Schema.optional; readonly scripts: Schema.optional>; readonly dependencies: Schema.optional>; readonly devDependencies: Schema.optional>; readonly peerDependencies: Schema.optional>; readonly engines: Schema.optional; readonly pnpm: Schema.optional; }>>; readonly packageManager: Schema.optional; readonly devEngines: Schema.optional; readonly publishConfig: Schema.optional; readonly directory: Schema.optional; readonly linkDirectory: Schema.optional; readonly targets: Schema.optional; }>>; readonly keywords: Schema.optional>; }>; /** * The decoded type of {@link PackageJsonOptions}. * * @public */ type PackageJsonOptionsType = typeof PackageJsonOptions.Type; /** * Generates a sorted `package.json` file entry. * * @param options - the package.json configuration options * @returns an array containing the generated `package.json` entry * @public */ export declare function createPackageJson(options: unknown): TemplateEntry[]; //#endregion //#region src/lib/pnpm/index.d.ts /** * Options for generating a `pnpm-workspace.yaml` file. * * @public */ export declare const PnpmWorkspaceOptions: Schema.Struct<{ readonly packages: Schema.$Array; readonly autoInstallPeers: Schema.optional; readonly catalogMode: Schema.optional>; readonly catalog: Schema.optional>; }>; /** * The decoded type of {@link PnpmWorkspaceOptions}. * * @public */ type PnpmWorkspaceOptionsType = typeof PnpmWorkspaceOptions.Type; /** * Generates a `pnpm-workspace.yaml` file entry. * * @param options - the pnpm workspace configuration options * @returns an array containing the generated `pnpm-workspace.yaml` entry * @public */ export declare function createPnpmWorkspace(options: unknown): TemplateEntry[]; //#endregion //#region src/lib/readme/index.d.ts /** * Options for generating a `README.md` file. * * @public */ export declare const ReadmeOptions: Schema.Struct<{ readonly name: Schema.String; readonly description: Schema.optional; }>; /** * The decoded type of {@link ReadmeOptions}. * * @public */ type ReadmeOptionsType = typeof ReadmeOptions.Type; /** * Generates a `README.md` file entry. * * @param options - the README configuration options * @returns an array containing the generated `README.md` entry * @public */ export declare function createReadme(options: unknown): TemplateEntry[]; //#endregion //#region src/lib/tsconfig/index.d.ts /** * Options for generating a `tsconfig.json` file. * * @public */ export declare const TsConfigOptions: Schema.Struct<{ readonly extends: Schema.optional]>>; readonly composite: Schema.optional; readonly include: Schema.optional>; readonly exclude: Schema.optional>; readonly references: Schema.optional>>; }>; /** * The decoded type of {@link TsConfigOptions}. * * @public */ type TsConfigOptionsType = typeof TsConfigOptions.Type; /** * Generates a `tsconfig.json` file entry. * * @param options - the TypeScript configuration options * @returns an array containing the generated `tsconfig.json` entry * @public */ export declare function createTsConfig(options: unknown): TemplateEntry[]; //#endregion //#region src/lib/turbo/index.d.ts /** * Options for generating a root `turbo.json` file. * * @public */ export declare const TurboRootOptions: Schema.Struct<{ readonly tasks: Schema.$Record; readonly globalDependencies: Schema.optional>; readonly globalEnv: Schema.optional>; readonly globalPassThroughEnv: Schema.optional>; readonly ui: Schema.optional>; readonly concurrency: Schema.optional>; }>; /** * The decoded type of {@link TurboRootOptions}. * * @public */ type TurboRootOptionsType = typeof TurboRootOptions.Type; /** * Options for generating a workspace-level `turbo.json` file. * * @public */ export declare const TurboWorkspaceOptions: Schema.Struct<{ readonly tasks: Schema.optional>; }>; /** * The decoded type of {@link TurboWorkspaceOptions}. * * @public */ type TurboWorkspaceOptionsType = typeof TurboWorkspaceOptions.Type; /** * Generates a root `turbo.json` file entry. * * @param options - the root Turborepo configuration options * @returns an array containing the generated root `turbo.json` entry * @public */ export declare function createTurboRoot(options: unknown): TemplateEntry[]; /** * Generates a workspace-level `turbo.json` file entry. * * @param options - the workspace Turborepo configuration options * @returns an array containing the generated workspace `turbo.json` entry * @public */ export declare function createTurboWorkspace(options: unknown): TemplateEntry[]; //#endregion //#region src/lib/vscode/index.d.ts /** * Options for generating VS Code configuration files. * * @public */ export declare const VsCodeOptions: Schema.Struct<{ readonly settings: Schema.optional; readonly turbo: Schema.optional; readonly vitest: Schema.optional; }>>; readonly extensions: Schema.optional>; }>; /** * The decoded type of {@link VsCodeOptions}. * * @public */ type VsCodeOptionsType = typeof VsCodeOptions.Type; /** * Generates `.vscode/settings.json` and `.vscode/extensions.json` file entries. * * @param options - the VS Code configuration options * @returns an array containing the generated VS Code configuration entries * @public */ export declare function createVsCode(options: unknown): TemplateEntry[]; //#endregion //#region src/lib/workspace/index.d.ts /** * Options for generating a complete workspace scaffold. * * @public */ export declare const WorkspaceOptions: Schema.Struct<{ readonly name: Schema.String; readonly packageManager: Schema.Literals; readonly packageManagerVersion: Schema.String; readonly nodeVersion: Schema.String; readonly biomeVersion: Schema.withDecodingDefaultType; readonly features: Schema.optional; readonly vitest: Schema.optional; readonly turbo: Schema.optional; readonly changesets: Schema.optional; readonly vscode: Schema.optional; }>>; }>; /** * The decoded type of {@link WorkspaceOptions}. * * @public */ type WorkspaceOptionsType = typeof WorkspaceOptions.Type; /** * Generates all file entries for a new workspace scaffold. * * @param options - the workspace configuration options * @returns an array of template entries for the complete workspace * @public */ export declare function createWorkspace(options: unknown): TemplateEntry[]; //#endregion export type { BiomeOptionsType, ChangesetOptionsType, GitignoreOptionsType, PackageJsonOptionsType, PnpmWorkspaceOptionsType, ReadmeOptionsType, Template, TemplateEntry, TsConfigOptionsType, TurboRootOptionsType, TurboWorkspaceOptionsType, UpdateTemplate, VsCodeOptionsType, WorkspaceOptionsType }; //# sourceMappingURL=index.d.ts.map