import * as t from '@babel/types';
import { ToJSONMethod } from './index';
export declare const toJSON: {
    identity(args: ToJSONMethod): t.ExpressionStatement;
    string(args: ToJSONMethod): t.ExpressionStatement;
    double(args: ToJSONMethod): t.ExpressionStatement;
    float(args: ToJSONMethod): t.ExpressionStatement;
    bool(args: ToJSONMethod): t.ExpressionStatement;
    number(args: ToJSONMethod): t.ExpressionStatement;
    int32(args: ToJSONMethod): t.ExpressionStatement;
    uint32(args: ToJSONMethod): t.ExpressionStatement;
    sint32(args: ToJSONMethod): t.ExpressionStatement;
    fixed32(args: ToJSONMethod): t.ExpressionStatement;
    sfixed32(args: ToJSONMethod): t.ExpressionStatement;
    long(args: ToJSONMethod): t.ExpressionStatement | t.IfStatement;
    int64(args: ToJSONMethod): t.ExpressionStatement | t.IfStatement;
    uint64(args: ToJSONMethod): t.ExpressionStatement | t.IfStatement;
    sint64(args: ToJSONMethod): t.ExpressionStatement | t.IfStatement;
    fixed64(args: ToJSONMethod): t.ExpressionStatement | t.IfStatement;
    sfixed64(args: ToJSONMethod): t.ExpressionStatement | t.IfStatement;
    type(args: ToJSONMethod): t.ExpressionStatement;
    enum(args: ToJSONMethod): t.ExpressionStatement;
    bytes(args: ToJSONMethod): t.ExpressionStatement;
    duration(args: ToJSONMethod): t.ExpressionStatement;
    durationString(args: ToJSONMethod): t.ExpressionStatement;
    timestamp(args: ToJSONMethod): t.ExpressionStatement;
    timestampTimestamp(args: ToJSONMethod): t.ExpressionStatement;
    timestampDate(args: ToJSONMethod): t.ExpressionStatement;
    keyHash(args: ToJSONMethod): (t.ExpressionStatement | t.IfStatement)[];
    array(args: ToJSONMethod, expr: t.Expression): t.IfStatement;
};
export declare const arrayTypes: {
    identity(): t.Identifier;
    string(): t.Identifier;
    double(): t.Identifier;
    float(): t.Identifier;
    bool(): t.Identifier;
    number(): t.CallExpression;
    int32(): t.CallExpression;
    uint32(): t.CallExpression;
    sint32(): t.CallExpression;
    fixed32(): t.CallExpression;
    sfixed32(): t.CallExpression;
    long(args: ToJSONMethod): t.CallExpression;
    int64(args: ToJSONMethod): t.CallExpression;
    uint64(args: ToJSONMethod): t.CallExpression;
    sint64(args: ToJSONMethod): t.CallExpression;
    fixed64(args: ToJSONMethod): t.CallExpression;
    sfixed64(args: ToJSONMethod): t.CallExpression;
    bytes(args: ToJSONMethod): t.CallExpression;
    enum(args: ToJSONMethod): t.CallExpression;
    type(args: ToJSONMethod): t.ConditionalExpression;
};
