import * as Avro from "./avro.domain"; declare type RequiredField = { type: T; doc?: string; }; declare type DefaultedField = { type: T; doc?: string; default: T["_ts"]; }; declare type NullableField = { type: T; doc?: string; default: null; }; declare function Field(props: RequiredField | T): Avro.RequiredField; declare function Field(props: DefaultedField): Avro.DefaultedField; declare function Field(props: NullableField): Avro.NullableField; declare type Record; }, _ts extends { [key in keyof O]: O[key]["_ts"]; }> = Avro.RecordType & { _ts: _ts; }; declare const Record: ; }, _ts extends { [key in keyof O]: O[key]["_ts"]; }>(name: string, fields: O) => Record; export { Record, Field };