import { IndexDefinitionConfig } from '../config'; import { RootEntityType } from './root-entity-type'; import { ModelComponent, ValidationContext } from '../validation/validation-context'; import { Field } from './field'; import { DirectiveNode, ObjectValueNode, StringValueNode } from 'graphql'; export declare class IndexField implements ModelComponent { readonly dotSeparatedPath: string; readonly declaringType: RootEntityType; readonly astNode?: (DirectiveNode | StringValueNode | ObjectValueNode) | undefined; readonly path: ReadonlyArray; constructor(dotSeparatedPath: string, declaringType: RootEntityType, astNode?: (DirectiveNode | StringValueNode | ObjectValueNode) | undefined); /** * Gets the innermost field */ get field(): Field | undefined; get fieldsInPath(): ReadonlyArray | undefined; validate(context: ValidationContext): void; private traversePath; } export declare class Index implements ModelComponent { private input; readonly declaringType: RootEntityType; readonly name?: string; readonly unique: boolean; readonly sparse: boolean; readonly fields: ReadonlyArray; readonly astNode?: DirectiveNode | ObjectValueNode; readonly nameASTNode?: StringValueNode; /** * @deprecated has no effect, do not use */ get id(): undefined; constructor(input: IndexDefinitionConfig, declaringType: RootEntityType); equals(other: Index): boolean; validate(context: ValidationContext): void; }