import type { ST_TypeDef } from 'SmartTS';
import { ST_ExpressionKind } from './expression';
import { FrontendType } from './type';
export declare enum ST_Namespace {
    Sp = "Sp"
}
export declare enum ST_Enum {
    Layout = "Layout"
}
export declare enum ST_NativeMethod {
    bigMap = "bigMap",
    some = "some",
    never = "never",
    variant = "variant",
    verify = "verify",
    transfer = "transfer",
    unpack = "unpack",
    pack = "pack",
    selfEntryPoint = "selfEntryPoint",
    contract = "contract",
    blake2b = "blake2b",
    sha256 = "sha256",
    sha512 = "sha512",
    sha3 = "sha3",
    keccak = "keccak"
}
export declare enum ST_NativeValue {
    unit = "unit",
    none = "none",
    sender = "sender",
    source = "sender",
    amount = "amount",
    self = "self"
}
export declare const Value: Record<ST_Namespace, Record<ST_NativeValue, ST_NativeValue>>;
export declare const TypeOfNativeValue: Record<ST_Namespace, Record<ST_NativeValue, ST_TypeDef>>;
export declare const ArgTypesOfNativeMethod: Record<ST_NativeMethod, (ST_TypeDef & {
    optional: boolean;
})[]>;
export declare const ReturnTypeOfNativeMethod: Record<ST_Namespace, Record<string, FrontendType>>;
export declare const ExpressionOfNativeCall: Record<ST_Namespace, Record<string, ST_ExpressionKind>>;
export declare const NativeCallOfExpression: Record<ST_Namespace, Record<string, ST_NativeMethod>>;
export declare const ValueOfEnum: {
    Layout: {
        right_comb: string;
    };
};
export declare enum PropertyMethod {
    hasKey = "hasKey",
    get = "get",
    set = "set",
    remove = "remove",
    size = "size",
    push = "push",
    isSome = "isSome",
    openSome = "openSome",
    fst = "fst",
    snd = "snd"
}
export declare const MethodsByType: Record<FrontendType, PropertyMethod[]>;
export declare const ExpressionByMethod: Record<PropertyMethod, ST_ExpressionKind>;
