import { ThunkReadonlyArray } from 'graphql/type/definition'; import { ChildEntityType, EntityExtensionType, Field, ObjectType, RootEntityType, ValueObjectType } from '../../model'; import { PreExecQueryParms, VariableQueryNode } from '../../query-tree'; import { PlainObject } from '../../utils/utils'; import { FieldContext } from '../query-node-object-type'; import { TypedInputObjectType } from '../typed-input-object-type'; import { CreateInputField } from './input-fields'; export declare class CreateObjectInputType extends TypedInputObjectType { constructor(type: ObjectType, name: string, fields: ThunkReadonlyArray, description: string); prepareValue(value: PlainObject, context: FieldContext): PlainObject; protected getAdditionalProperties(value: PlainObject, context: FieldContext): PlainObject; collectAffectedFields(value: PlainObject, fields: Set, context: FieldContext): void; getAffectedFields(value: PlainObject, context: FieldContext): ReadonlyArray; private getApplicableInputFields; } export declare class CreateRootEntityInputType extends CreateObjectInputType { readonly rootEntityType: RootEntityType; constructor(rootEntityType: RootEntityType, fields: ThunkReadonlyArray); getCreateStatements(input: PlainObject, newEntityIdVarNode: VariableQueryNode, context: FieldContext): PreExecQueryParms[]; getMultiCreateStatements(inputs: ReadonlyArray, newEntityIdsVarNode: VariableQueryNode, context: FieldContext): PreExecQueryParms[]; getAdditionalProperties(value: PlainObject, context: FieldContext): { createdAt: string; updatedAt: string; }; private getRelationStatements; private getBillingStatements; private getCreateEntityNode; private getCreateEntitiesNode; } export declare class CreateChildEntityInputType extends CreateObjectInputType { readonly childEntityType: ChildEntityType; constructor(childEntityType: ChildEntityType, fields: ThunkReadonlyArray); getAdditionalProperties(value: PlainObject, context: FieldContext): { id: string; createdAt: string; updatedAt: string; }; } export declare class CreateEntityExtensionInputType extends CreateObjectInputType { readonly entityExtensionType: EntityExtensionType; constructor(entityExtensionType: EntityExtensionType, fields: ThunkReadonlyArray); } export declare class ValueObjectInputType extends CreateObjectInputType { readonly valueObjectType: ValueObjectType; constructor(valueObjectType: ValueObjectType, fields: ThunkReadonlyArray); }