import type { CamelCaseString } from '@codama/nodes'; import type { LinkableDictionary } from '@codama/visitors-core'; import type { TypeManifestVisitor } from '../visitors'; import type { CustomDataOptions, ParsedCustomDataOptions } from './customData'; import { PrettierOptions } from './formatCode'; import type { GetImportFromFunction, LinkOverrides } from './linkOverrides'; import type { NameApi, NameTransformers } from './nameTransformers'; export type RenderOptions = GetRenderMapOptions & { deleteFolderBeforeRendering?: boolean; formatCode?: boolean; generatedFolder?: string; prettierOptions?: PrettierOptions; syncPackageJson?: boolean; }; export type GetRenderMapOptions = { asyncResolvers?: string[]; customAccountData?: CustomDataOptions[]; customInstructionData?: CustomDataOptions[]; dependencyMap?: Record; dependencyVersions?: Record; internalNodes?: string[]; kitImportStrategy?: KitImportStrategy; linkOverrides?: LinkOverrides; nameTransformers?: Partial; nonScalarEnums?: string[]; renderParentInstructions?: boolean; }; export type RenderScope = { asyncResolvers: CamelCaseString[]; customAccountData: ParsedCustomDataOptions; customInstructionData: ParsedCustomDataOptions; dependencyMap: Record; dependencyVersions: Record; getImportFrom: GetImportFromFunction; kitImportStrategy: KitImportStrategy; linkables: LinkableDictionary; nameApi: NameApi; nonScalarEnums: CamelCaseString[]; renderParentInstructions: boolean; typeManifestVisitor: TypeManifestVisitor; }; /** * Defines how generated code should import utilities that exist both as standalone * packages (granular imports) and via the root `@solana/kit` package. * * Variants: * - `'granular'`: * Always import from the most specific standalone packages when possible * (e.g. `@solana/addresses`, `@solana/codecs-strings`) and never from `@solana/kit` * (except for symbols that are only exported from `@solana/kit`). * * - `'preferRoot'` (default): * Prefer importing from `@solana/kit` when a symbol is exported from its root * entrypoint. If it is not available from the root entrypoint, fall back to * granular packages. * * - `'rootOnly'`: * Only import from the `@solana/kit` package. When a symbol is not exported from * the root entrypoint, the generator may use `@solana/kit` subpath exports * (e.g. `@solana/kit/program-client-core`). * This is useful when `@solana/kit` is installed as a `peerDependency`, but it may * require TypeScript `moduleResolution: "bundler"` to resolve `@solana/kit` * subpath exports correctly. */ export type KitImportStrategy = 'granular' | 'preferRoot' | 'rootOnly'; export declare const DEFAULT_KIT_IMPORT_STRATEGY: KitImportStrategy; //# sourceMappingURL=options.d.ts.map