interface ParsedField {
    name: string;
    tsType: string;
    optional: boolean;
    indexed: boolean;
    unique: boolean;
}
interface ParsedEntity {
    name: string;
    fields: ParsedField[];
}
interface ParsedLink {
    name: string;
    forward: {
        on: string;
        has: "one" | "many";
        label: string;
    };
    reverse?: {
        on: string;
        has: "one" | "many";
        label: string;
    };
}
interface ParsedSchema {
    entities: ParsedEntity[];
    links: ParsedLink[];
}
/**
 * Parse an InstantDB schema file and extract all entity and link definitions.
 */
export declare function parseSchema(content: string): ParsedSchema;
/**
 * Generate TypeScript types from a parsed schema.
 */
export declare function generateTypes(schema: ParsedSchema): string;
/**
 * Read an InstantDB schema file and generate TypeScript types.
 * Returns the generated types content string.
 */
export declare function generateTypesFromSchemaFile(projectRoot: string): Promise<{
    content: string;
    entityCount: number;
    fieldCount: number;
}>;
export {};
//# sourceMappingURL=generateTypesFromSchema.d.ts.map