import { Knex } from 'knex'; import { Accountability, Query, SchemaOverview } from '@directus/shared/types'; import { Item, PrimaryKey } from './items'; export declare type AbstractServiceOptions = { knex?: Knex; accountability?: Accountability | null; schema: SchemaOverview; options?: { isSystem?: boolean; bearerToken?: string; }; }; export interface AbstractService { knex: Knex; accountability: Accountability | null; createOne(data: Partial): Promise; createMany(data: Partial[]): Promise; readOne(key: PrimaryKey, query?: Query): Promise; readMany(keys: PrimaryKey[], query?: Query): Promise; readByQuery(query: Query): Promise; updateOne(key: PrimaryKey, data: Partial): Promise; updateMany(keys: PrimaryKey[], data: Partial): Promise; deleteOne(key: PrimaryKey): Promise; deleteMany(keys: PrimaryKey[]): Promise; }