import SchemaInspector from '@directus/schema'; import { Knex } from 'knex'; import { Column } from 'knex-schema-inspector/dist/types/column'; import { ItemsService } from '../services/items'; import { PayloadService } from '../services/payload'; import { AbstractServiceOptions } from '../types'; import { Field, RawField, Type, Accountability, SchemaOverview } from '@directus/shared/types'; import { Helpers } from '../database/helpers'; import Keyv from 'keyv'; export declare class FieldsService { knex: Knex; helpers: Helpers; accountability: Accountability | null; itemsService: ItemsService; payloadService: PayloadService; schemaInspector: ReturnType; schema: SchemaOverview; cache: Keyv | null; systemCache: Keyv; constructor(options: AbstractServiceOptions); private get hasReadAccess(); readAll(collection?: string): Promise; readOne(collection: string, field: string): Promise>; createField(collection: string, field: Partial & { field: string; type: Type | null; }, table?: Knex.CreateTableBuilder): Promise; updateField(collection: string, field: RawField): Promise; deleteField(collection: string, field: string): Promise; addColumnToTable(table: Knex.CreateTableBuilder, field: RawField | Field, alter?: Column | null): void; }