## API Report File for "@aws-amplify/graphql-relational-transformer"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

import { DirectiveNode } from 'graphql';
import { DocumentNode } from 'graphql';
import { FieldDefinitionNode } from 'graphql';
import { IndexTransformer } from '@aws-amplify/graphql-index-transformer';
import { InterfaceTypeDefinitionNode } from 'graphql';
import { ModelTransformer } from '@aws-amplify/graphql-model-transformer';
import { ObjectTypeDefinitionNode } from 'graphql';
import { TransformerAuthProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { TransformerContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { TransformerPluginBase } from '@aws-amplify/graphql-transformer-core';
import { TransformerPrepareStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { TransformerPreProcessContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { TransformerSchemaVisitStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { TransformerTransformSchemaStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { TransformerValidationStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import type { TransformParameters } from '@aws-amplify/graphql-transformer-interfaces';

// @public (undocumented)
export class BelongsToTransformer extends TransformerPluginBase {
    constructor();
    // (undocumented)
    field: (parent: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, definition: FieldDefinitionNode, directive: DirectiveNode, context: TransformerSchemaVisitStepContextProvider) => void;
    // (undocumented)
    generateResolvers: (ctx: TransformerContextProvider) => void;
    // (undocumented)
    mutateSchema: (context: TransformerPreProcessContextProvider) => DocumentNode;
    // (undocumented)
    prepare: (context: TransformerPrepareStepContextProvider) => void;
    // (undocumented)
    transformSchema: (ctx: TransformerTransformSchemaStepContextProvider) => void;
}

// @public (undocumented)
export const getConnectionAttributeName: (transformParameters: TransformParameters, type: string, field: string, relatedTypeField: string) => string;

// @public (undocumented)
export const getObjectPrimaryKey: (object: ObjectTypeDefinitionNode) => FieldDefinitionNode;

// @public (undocumented)
export const getSortKeyConnectionAttributeName: (type: string, field: string, relatedTypeField: string) => string;

// @public (undocumented)
export class HasManyTransformer extends TransformerPluginBase {
    constructor();
    // (undocumented)
    field: (parent: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, definition: FieldDefinitionNode, directive: DirectiveNode, context: TransformerSchemaVisitStepContextProvider) => void;
    // (undocumented)
    generateResolvers: (ctx: TransformerContextProvider) => void;
    // (undocumented)
    mutateSchema: (context: TransformerPreProcessContextProvider) => DocumentNode;
    // (undocumented)
    prepare: (context: TransformerPrepareStepContextProvider) => void;
    // (undocumented)
    transformSchema: (ctx: TransformerTransformSchemaStepContextProvider) => void;
}

// @public (undocumented)
export class HasOneTransformer extends TransformerPluginBase {
    constructor();
    // (undocumented)
    field: (parent: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, definition: FieldDefinitionNode, directive: DirectiveNode, context: TransformerSchemaVisitStepContextProvider) => void;
    // (undocumented)
    generateResolvers: (ctx: TransformerContextProvider) => void;
    // (undocumented)
    mutateSchema: (context: TransformerPreProcessContextProvider) => DocumentNode;
    // (undocumented)
    prepare: (context: TransformerPrepareStepContextProvider) => void;
    // (undocumented)
    transformSchema: (ctx: TransformerTransformSchemaStepContextProvider) => void;
}

// @public (undocumented)
export class ManyToManyTransformer extends TransformerPluginBase {
    constructor(modelTransformer: ModelTransformer, indexTransformer: IndexTransformer, hasOneTransformer: HasOneTransformer, authProvider: TransformerAuthProvider);
    // (undocumented)
    field: (parent: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, definition: FieldDefinitionNode, directive: DirectiveNode, context: TransformerSchemaVisitStepContextProvider) => void;
    // (undocumented)
    generateResolvers: (ctx: TransformerContextProvider) => void;
    // (undocumented)
    mutateSchema: (context: TransformerPreProcessContextProvider) => DocumentNode;
    // (undocumented)
    prepare: (ctx: TransformerPrepareStepContextProvider) => void;
    // (undocumented)
    transformSchema: (ctx: TransformerTransformSchemaStepContextProvider) => void;
    // (undocumented)
    validate: (ctx: TransformerValidationStepContextProvider) => void;
}

// (No @packageDocumentation comment for this package)

```
