import * as ts from 'typescript'; /** * Aggregate the given TypeScript nodes into a single string */ export declare const emitDefinitions: (definitions: ts.Node[]) => string; /** * Save the given string representation of TS nodes in a file * If the given directory doesn't exist, it'll be created automatically * * @return The path of the created file */ export declare const saveDefinitionToFileSystem: (dir: string, file: string, content: string) => Promise; /** * Format the given definitions. * Uses the existing config if one is defined in the project. */ export declare const format: (content: string) => Promise; /** * Generate the extension block for a shared component from strapi/strapi */ export declare const generateSharedExtensionDefinition: (registry: string, definitions: Array<{ uid: string; definition: ts.InterfaceDeclaration; }>) => ts.ModuleDeclaration; interface CreateLoggerOptions { silent?: boolean; debug?: boolean; } export declare const createLogger: (options?: CreateLoggerOptions) => { readonly warnings: number; readonly errors: number; debug(...args: any[]): void; info(...args: any[]): void; warn(...args: any[]): void; error(...args: any[]): void; }; export declare const timer: () => { start(): /*elided*/ any; end(): /*elided*/ any; readonly duration: number; }; export type Logger = ReturnType; /** * Options passed to each artifact generator (content-types, components). */ export interface GeneratorOptions { strapi: any; logger: Logger; pwd?: string; } export {}; //# sourceMappingURL=utils.d.ts.map