import { AnyCodec, Codec, Expand, Input, Output, U2I } from "../common/mod.js"; export declare function field(key: K, $value: Codec): Codec>>, Expand>>; export declare function optionalField(key: K, $value: Codec): Codec>>>, Expand>>>; export type InputObject = Expand; }; }[number]>["x"]>; export type OutputObject = Expand; }; }[number]>["x"]>; type UnionKeys = T extends T ? keyof T : never; export type ObjectMembers = [ ...never extends T ? { [K in keyof T]: AnyCodec extends T[K] ? AnyCodec : UnionKeys> & { [L in keyof T]: K extends L ? never : UnionKeys>; }[number] extends (infer O extends keyof any) ? [O] extends [never] ? Codec & {}> : Codec<{ [_ in O]?: never; }> : never; } : T ]; export declare function object(...members: ObjectMembers): Codec, OutputObject>; export {};