import * as S from "@principia/prelude/Show"; import type { ReadonlyRecord } from "../Record"; import type { Show } from "./model"; export * from "@principia/prelude/Show/combinators"; export declare const named_: (show: S.Show, name: string | undefined) => S.Show; export declare const named: (name: string | undefined) => (show: S.Show) => S.Show; export declare const nullable: (or: S.Show) => S.Show; export declare const undefinable: (or: S.Show) => S.Show; export declare const type: >>( shows: { [K in keyof A]: Show; } ) => Show< { [K in keyof A]: A[K]; } >; export declare const partial: >>( properties: { [K in keyof A]: S.Show } ) => S.Show>; export declare const record: (codomain: Show) => Show>; export declare const array: (item: Show) => Show>; export declare const tuple: >( ...components: { [K in keyof A]: Show; } ) => Show; export declare const intersect_: (left: S.Show, right: S.Show) => S.Show; export declare const intersect: (right: S.Show) => (left: S.Show) => S.Show; export declare const sum_: ( tag: T, members: { [K in keyof A]: S.Show> } ) => S.Show; export declare const sum: ( tag: T ) => (members: { [K in keyof A]: S.Show> }) => S.Show; export declare const lazy: (f: () => S.Show) => S.Show; //# sourceMappingURL=combinators.d.ts.map