import { CamelCaseString } from '@codama/nodes';
import { LinkableDictionary, NodeStack, Visitor } from '@codama/visitors-core';
import { ImportMap } from './ImportMap';
import { GetImportFromFunction, ParsedCustomDataOptions } from './utils';
export type TypeManifest = {
    isEnum: boolean;
    looseImports: ImportMap;
    looseType: string;
    serializer: string;
    serializerImports: ImportMap;
    strictImports: ImportMap;
    strictType: string;
    value: string;
    valueImports: ImportMap;
};
export declare function getTypeManifestVisitor(input: {
    customAccountData: ParsedCustomDataOptions;
    customInstructionData: ParsedCustomDataOptions;
    getImportFrom: GetImportFromFunction;
    linkables: LinkableDictionary;
    nonScalarEnums: CamelCaseString[];
    stack?: NodeStack;
}): Visitor<TypeManifest, "definedTypeNode" | "definedTypeLinkNode" | "amountTypeNode" | "arrayTypeNode" | "booleanTypeNode" | "bytesTypeNode" | "dateTimeTypeNode" | "enumTypeNode" | "fixedSizeTypeNode" | "hiddenPrefixTypeNode" | "hiddenSuffixTypeNode" | "mapTypeNode" | "numberTypeNode" | "optionTypeNode" | "postOffsetTypeNode" | "preOffsetTypeNode" | "publicKeyTypeNode" | "remainderOptionTypeNode" | "sentinelTypeNode" | "setTypeNode" | "sizePrefixTypeNode" | "solAmountTypeNode" | "stringTypeNode" | "structTypeNode" | "tupleTypeNode" | "zeroableOptionTypeNode" | "bytesValueNode" | "arrayValueNode" | "booleanValueNode" | "constantValueNode" | "enumValueNode" | "mapValueNode" | "noneValueNode" | "numberValueNode" | "publicKeyValueNode" | "setValueNode" | "someValueNode" | "stringValueNode" | "structValueNode" | "tupleValueNode" | "enumEmptyVariantTypeNode" | "accountNode" | "instructionNode" | "enumStructVariantTypeNode" | "enumTupleVariantTypeNode" | "structFieldTypeNode" | "mapEntryValueNode" | "structFieldValueNode">;
//# sourceMappingURL=getTypeManifestVisitor.d.ts.map