import * as Show from './Show';
import { type Show as ShowType } from './Show';
import { type Pnode as PnodeType } from './Pnode';
export interface Pprint {
pprint: (a: A) => PnodeType;
}
export declare const pprint: (f: (a: A) => PnodeType) => Pprint;
export declare const render: (a: A, pp: Pprint) => string;
export declare const pprintShow: (show: Show.Show) => Pprint;
export declare const pprintUndefined: Pprint;
export declare const pprintNull: Pprint;
export declare const pprintString: Pprint;
export declare const pprintBoolean: Pprint;
export declare const pprintNumber: Pprint;
export declare const pprintFunction: Pprint;
export declare const pprintStringCtor: Pprint;
export declare const pprintJsonStringify: Pprint;
export declare const pprintArray: (pprintA: Pprint) => Pprint>;
export declare const pprintRecord: (pprintA: Pprint) => Pprint>;
export declare const pprintAny: Pprint;