## API Report File for "@aws-amplify/appsync-modelgen-plugin" > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts import { PluginFunction } from '@graphql-codegen/plugin-helpers'; import { RawConfig } from '@graphql-codegen/visitor-plugin-common'; import { RawDocumentsConfig } from '@graphql-codegen/visitor-plugin-common'; import { Types } from '@graphql-codegen/plugin-helpers'; // @public (undocumented) export const addToSchema: (config: AppSyncModelPluginConfig) => string; // @public (undocumented) export type AppSyncModelCodeGenPresetConfig = { overrideOutputDir: string | null; target: 'java' | 'swift' | 'javascript' | 'typescript' | 'dart'; }; // @public (undocumented) export interface AppSyncModelPluginConfig extends RawDocumentsConfig { // (undocumented) directives?: string; } // @public (undocumented) export type AssociationBaseType = { connectionType: CodeGenConnectionType; }; // @public (undocumented) export type AssociationBelongsTo = AssociationBaseType & { connectionType: CodeGenConnectionType.BELONGS_TO; targetNames: string[]; }; // @public (undocumented) export type AssociationHasMany = AssociationBaseType & { connectionType: CodeGenConnectionType.HAS_MANY; associatedWith: string[]; }; // @public (undocumented) export type AssociationHasOne = AssociationBaseType & { connectionType: CodeGenConnectionType.HAS_ONE; associatedWith: string[]; targetNames: string[]; }; // @public (undocumented) export type AssociationType = AssociationHasMany | AssociationHasOne | AssociationBelongsTo; // @public (undocumented) export enum CodeGenConnectionType { // (undocumented) BELONGS_TO = "BELONGS_TO", // (undocumented) HAS_MANY = "HAS_MANY", // (undocumented) HAS_ONE = "HAS_ONE" } // @public (undocumented) export type Field = { name: string; type: FieldType; isArray: boolean; isRequired: boolean; isReadOnly?: boolean; isArrayNullable?: boolean; attributes?: FieldAttribute[]; association?: AssociationType; }; // @public (undocumented) export type FieldAttribute = ModelAttribute; // @public (undocumented) export type Fields = Record; // @public (undocumented) export type FieldType = 'ID' | 'String' | 'Int' | 'Float' | 'AWSDate' | 'AWSTime' | 'AWSDateTime' | 'AWSTimestamp' | 'AWSEmail' | 'AWSURL' | 'AWSIPAddress' | 'Boolean' | 'AWSJSON' | 'AWSPhone' | { enum: string; } | { model: string; } | { nonModel: string; }; // @public (undocumented) export type ModelAttribute = { type: string; properties?: { [key: string]: any; }; }; // @public (undocumented) export type ModelIntrospectionSchema = { version: 1; models: SchemaModels; nonModels: SchemaNonModels; enums: SchemaEnums; }; // Warning: (ae-forgotten-export) The symbol "RawAppSyncModelConfig" needs to be exported by the entry point index.d.ts // // @public (undocumented) export const plugin: PluginFunction; // @public (undocumented) export const preset: Types.OutputPreset; // @public (undocumented) export type PrimaryKeyInfo = { isCustomPrimaryKey: boolean; primaryKeyFieldName: string; sortKeyFieldNames: string[]; }; // @public (undocumented) export type SchemaEnum = { name: string; values: string[]; }; // @public (undocumented) export type SchemaEnums = Record; // @public (undocumented) export type SchemaModel = { name: string; attributes?: ModelAttribute[]; fields: Fields; pluralName: string; syncable?: boolean; primaryKeyInfo: PrimaryKeyInfo; }; // @public (undocumented) export type SchemaModels = Record; // @public (undocumented) export type SchemaNonModel = { name: string; fields: Fields; }; // @public (undocumented) export type SchemaNonModels = Record; // (No @packageDocumentation comment for this package) ```