import * as recast from "recast"; import type { ManifestExtraInput } from "../../types/application-manifest.js"; declare const b: import("ast-types/lib/gen/builders").builders; export type TSInterfaceBody = Parameters[0]; /** * Builds an import statement with named imports. * * @example * * ```ts * buildImportStatement( * ["a", "b"], * "./path", * ); * // => import { a, b } from "./path"; * ``` */ export declare function buildImportStatement(specifiers: string[], source: string, importKind?: "type" | "value"): recast.types.namedTypes.ImportDeclaration; type TSTypeAnnotation = Parameters[0]; /** * Builds a key/value pair for use in a type. Automatically quotes the key if it * contains invalid JavaScript identifier characters. * * @example * * ```ts * buildPropertySignature( * "key" * b.tsLiteralType(b.tsStringKeyword()) * ); * // => key: string * ``` */ export declare function buildPropertySignature(keyName: string, value: TSTypeAnnotation, optional?: boolean): recast.types.namedTypes.TSPropertySignature; type SupportedLiteralTypes = ManifestExtraInput["type"]; /** * Returns a TypeScript literal type from a string. * * @example * ```ts * buildKeywordLiteral("string"); * // => string * * buildKeywordLiteral("number"); * // => number * ```` */ export declare function buildKeywordLiteral(type: SupportedLiteralTypes): recast.types.namedTypes.TSBooleanKeyword | recast.types.namedTypes.TSNumberKeyword | recast.types.namedTypes.TSStringKeyword; /** * Pretty prints the TypeScript AST into a code string. */ export declare function printRecast(ast: recast.types.ASTNode): string; export {}; //# sourceMappingURL=recast.d.ts.map