import { Source } from 'graphql'; import { EntityMetadata, FieldMetadata, Filter } from '.'; export interface SerializableGraphQLEntityClass { serialize: (options: { value: G; }) => D; deserialize: (options: { value: unknown; parent: Source; fieldMetadata: FieldMetadata; entityMetadata: EntityMetadata; }) => G; } export declare const isSerializableGraphQLEntityClass: (entity: unknown) => entity is SerializableGraphQLEntityClass; export interface TransformableGraphQLEntityClass { fromBackendEntity?(this: new (dataEntity: D) => G, dataEntity: D): G; toBackendEntity?(this: new (dataEntity: D) => G, graphqlEntity: Partial): D; toBackendEntityFilter?(this: new (dataEntity: D) => G, graphqlFilter: Filter): Filter; } export declare function isTransformableGraphQLEntityClass(value: unknown): value is TransformableGraphQLEntityClass;