import * as Mapping from '../../mapping/Mapping.js';
import type * as Model from './Model.js';
declare const SchemaParserFailure_base: new = {}>(args: import("effect/Types").Equals extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
readonly _tag: "/Hypergraph/cli/errors/SchemaParserFailure";
} & Readonly;
export declare class SchemaParserFailure extends SchemaParserFailure_base<{
readonly message: string;
readonly cause: unknown;
}> {
}
/**
* Builds a string of the schema.ts file contents after parsing the schema into the correct format.
*
* @example
*
* ```typescript
* const schema = Model.TypesyncHypergraphSchema.make({
* types: [
* {
* name: "User",
* knowledgeGraphId: null,
* status: null,
* properties: [
* {
* name: "name",
* dataType: "String",
* knowledgeGraphId: null,
* optional: null,
* status: null
* }
* ]
* }
* ]
* })
* const schemaFile = buildSchemaFile(schema)
*
* expect(schemaFile).toEqual(`
* import { Entity, Type } from '@graphprotocol/hypergraph';
*
* export class User extends Entity.Class('User')({
* name: Type.String
* }) {}
* `)
* ```
*/
export declare function buildSchemaFile(schema: Model.TypesyncHypergraphSchema): string;
export declare function buildMappingFile(mapping: Mapping.Mapping | Model.TypesyncHypergraphMapping): string;
/**
* Builds a string of the mapping.ts file contents after parsing the schema into the correct mapping format.
*
* @example
*
* ```typescript
* const schema = Model.TypesyncHypergraphSchema.make({
* types: [
* {
* name: "User",
* knowledgeGraphId: "7f9562d4034d4385bf5cf02cdebba47a",
* status: null,
* properties: [
* {
* name: "name",
* dataType: "String",
* knowledgeGraphId: "a126ca530c8e48d5b88882c734c38935",
* optional: null,
* status: null
* }
* ]
* }
* ]
* })
* const mappingFile = buildMappingFile(schema)
*
* expect(mappingFile).toEqual(`
* import type { Mapping } from '@graphprotocol/hypergraph/mapping';
* import { Id } from '@graphprotocol/hypergraph';
*
* export const mapping: Mapping = {
* User: {
* typeIds: [Id('7f9562d4034d4385bf5cf02cdebba47a')],
* properties: {
* name: Id('a126ca530c8e48d5b88882c734c38935'),
* }
* }
* }
* `)
* ```
*/
export declare function buildMappingFileFromSchema(schema: Model.TypesyncHypergraphSchema): string;
export {};
//# sourceMappingURL=Utils.d.ts.map