import type { UnionToIntersection } from "@effect-ts/core/Utils"; import type { Annotation } from "../_schema.js"; import type { Schema } from "../_schema/schema.js"; import * as Arbitrary from "../Arbitrary.js"; import * as Constructor from "../Constructor.js"; import * as Encoder from "../Encoder.js"; import * as Guard from "../Guard.js"; import * as Parser from "../Parser.js"; export interface SchemaDefaultSchema extends Schema { (_: ConstructorInput): ParsedShape; readonly Parser: Parser.Parser; readonly Constructor: Constructor.Constructor; readonly Encoder: Encoder.Encoder; readonly Guard: Guard.Guard; readonly Arbitrary: Arbitrary.Gen; readonly annotate: (identifier: Annotation, meta: Meta) => DefaultSchema; } export type DefaultSchema = SchemaDefaultSchema & CarryFromApi; declare const carryOver: readonly ["matchW", "matchS", "props"]; type CarryOverFromApi = typeof carryOver[number]; type CarryFromApi = UnionToIntersection<{ [k in keyof Api]: k extends CarryOverFromApi ? { [h in k]: Api[h]; } : never; }[keyof Api]>; export declare function withDefaults(self: Schema): DefaultSchema; export {}; //# sourceMappingURL=withDefaults.d.ts.map