import type { TSchema } from '../schema/index'; import type { Static, StaticDecode } from '../static/index'; import { TransformKind } from '../symbols/index'; export declare class TransformDecodeBuilder { private readonly schema; constructor(schema: T); Decode, U>>(decode: D): TransformEncodeBuilder; } export declare class TransformEncodeBuilder { private readonly schema; private readonly decode; constructor(schema: T, decode: D); private EncodeTransform; private EncodeSchema; Encode, StaticDecode>>(encode: E): TTransform>; } type TransformStatic = T extends TTransform ? S : Static; export type TransformFunction = (value: T) => U; export interface TransformOptions { Decode: TransformFunction, O>; Encode: TransformFunction>; } export interface TTransform extends TSchema { static: TransformStatic; [TransformKind]: TransformOptions; [key: string]: any; } /** `[Json]` Creates a Transform type */ export declare function Transform(schema: I): TransformDecodeBuilder; export {};