import { ReadonlyRecord } from './ReadonlyRecord'
/**
* @category model
* @since 2.0.0
*/
export interface Show {
readonly show: (a: A) => string
}
/**
* @since 2.10.0
*/
export declare const struct: (shows: { [K in keyof A]: Show }) => Show<{ readonly [K_1 in keyof A]: A[K_1] }>
/**
* @since 2.10.0
*/
export declare const tuple: (
...shows: { [K in keyof A]: Show }
) => Show>
/**
* Use [`tuple`](#tuple) instead.
*
* @category zone of death
* @since 2.0.0
* @deprecated
*/
export declare const getTupleShow: >>(
...shows: T
) => Show<{
[K in keyof T]: T[K] extends Show ? A : never
}>
/**
* Use [`struct`](#struct) instead.
*
* @category zone of death
* @since 2.0.0
* @deprecated
*/
export declare const getStructShow: >(shows: {
[K in keyof O]: Show
}) => Show
/**
* Use [`Show`](./boolean.ts.html#show) instead.
*
* @category zone of death
* @since 2.0.0
* @deprecated
*/
export declare const showBoolean: Show
/**
* Use [`Show`](./string.ts.html#show) instead.
*
* @category zone of death
* @since 2.0.0
* @deprecated
*/
export declare const showString: Show
/**
* Use [`Show`](./number.ts.html#show) instead.
*
* @category zone of death
* @since 2.0.0
* @deprecated
*/
export declare const showNumber: Show