import { StandardJSONSchemaV1, StandardSchemaV1 } from "@standard-schema/spec";
//#region src/types/schema.d.ts
/**
* A schema that supports both validation (StandardSchemaV1) and JSON schema generation (StandardJSONSchemaV1).
* This is the type required for command arguments in Padrone.
*/
type PadroneSchema = StandardSchemaV1 & StandardJSONSchemaV1;
/**
* A schema branded as async. When passed to `.arguments()`, `.configFile()`, or `.env()`,
* the command is automatically marked as async, causing `parse()` and `cli()` to return Promises.
*
* Use the `asyncSchema()` helper to brand an existing schema:
* ```ts
* import { asyncSchema } from 'padrone';
* const schema = asyncSchema(z.object({ name: z.string() }).check(async (v) => { ... }));
* ```
*/
type AsyncPadroneSchema = PadroneSchema & {
'~async': true;
};
//#endregion
export { AsyncPadroneSchema, PadroneSchema };
//# sourceMappingURL=schema.d.mts.map