import type { IPointer } from './utils/getPointer'; export interface IType { kind: string; value: string; isList?: true; } interface ISchema { name: string; doc?: string; properties?: Array<{ name: string; type: string | IType; }>; } interface IMethod { name: string; kind: string; returnType?: string | IType; doc?: string; parameters?: Array<{ name: string; type: string | IType; }>; } export interface IFunction extends IMethod { bodyPointer?: number; requiredCapabilities?: string[]; withCapabilities?: string[]; events?: string[]; functionCalls?: { internal: string[]; external: Array<{ namespace?: string; module: string; func: string; }>; }; externalFnCalls?: Array<{ namespace?: string; module: string; func: string; }>; allExtractedCaps?: Array<{ name: string; fullModuleName: string; reason: 'with-capability' | 'compose-capability'; origin: string; capability: ICapability; }>; } export interface ICapability extends IMethod { composeCapabilities?: string[]; } export interface IModule { kind: string; namespace: string; name: string; doc: string; governance: string; usedModules?: Array<{ name: string; namespace?: string; hash?: string; imports?: string[]; }>; usedInterface?: Array<{ name: string; namespace?: string; }>; functions?: IFunction[]; capabilities?: ICapability[]; schemas?: ISchema[]; } /** * @alpha */ export declare function contractParser(contract: string, namespace?: string): [IModule[], IPointer]; /** * @alpha */ export declare function pactParser({ contractNames, files, getContract, namespace, }: { contractNames?: string[]; files?: string[]; getContract: (fullName: string) => Promise; namespace?: string; }): Promise<{ [k: string]: IModule; }>; export {}; //# sourceMappingURL=pactParser.d.ts.map