import { CamelCaseString } from '@codama/nodes'; import type { LinkableDictionary, NodeStack } from '@codama/visitors-core'; import type { FragmentRegistry } from './fragments'; export type DocSection = 'accounts' | 'errors' | 'instructions' | 'pdas' | 'types'; export type DocFormat = 'json' | 'markdown'; export type CustomDescriptions = { accounts?: Record; errors?: Record; instructions?: Record; pdas?: Record; types?: Record; }; export type DocRenderOptions = { customDescriptions?: CustomDescriptions; customFragments?: FragmentRegistry; format?: DocFormat; includeDiscriminators?: boolean; includeTableOfContents?: boolean; outputFileName?: string; programId?: string; programName?: string; sections?: DocSection[]; }; export type InstructionDocData = { accounts: InstructionAccountDocData[]; arguments: ArgumentDocData[]; description: string; discriminator: string | null; name: CamelCaseString; remainingAccounts?: InstructionRemainingAccountDocData[]; }; export type InstructionAccountDocData = { description: string; isSigner: boolean; isWritable: boolean; name: CamelCaseString; }; export type InstructionRemainingAccountDocData = { description: string; isOptional: boolean; isSigner: boolean | 'either'; valueType: 'argument' | 'resolver'; valueName: string; }; export type AccountDocData = { description: string; discriminator: string | null; fields: FieldDocData[]; name: CamelCaseString; size?: number; }; export type ArgumentDocData = { description: string; name: string; type: string; }; export type FieldDocData = { description: string; name: string; type: string; }; export type TypeDocData = { description: string; fields?: FieldDocData[]; kind: string; name: CamelCaseString; resolvedType?: string; size?: string; typeString: string; variants?: VariantDocData[]; }; export type VariantDocData = { description: string; discriminator?: number | null; fields?: FieldDocData[]; name: string; }; export type ErrorDocData = { code: number; description?: string; message: string; name: string; }; export type PdaSeedDocData = { description: string; name?: string; type: string; }; export type PdaDocData = { description: string; name: CamelCaseString; programId?: string; seeds: PdaSeedDocData[]; }; export type DocRenderContext = { customDescriptions: CustomDescriptions; linkables: LinkableDictionary; stack: NodeStack; }; //# sourceMappingURL=types.d.ts.map