import type { DirectiveNode, ObjectValueNode, StringValueNode } from 'graphql'; import type { IndexDefinitionConfig } from '../config/indices.js'; import type { ModelComponent } from '../validation/validation-context.js'; import { ValidationContext } from '../validation/validation-context.js'; import type { Field } from './field.js'; import type { RootEntityType } from './root-entity-type.js'; 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 get fieldPath(); 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; }