import { EntityRelation, ResourceObject, ResourceObjectRelationships } from '../../../utils/nestjs-shared';
import { ObjectLiteral } from '../../../types';
import { OrmService } from '../../mixin/types';
import { PatchData, PatchRelationshipData, PostData, PostRelationshipData, Query, QueryOne } from '../../mixin/zod';
import { MicroOrmUtilService } from './micro-orm-util.service';
import { JsonApiTransformerService } from '../../mixin/service/json-api-transformer.service';
export declare class MicroOrmService<E extends ObjectLiteral> implements OrmService<E> {
    microOrmUtilService: MicroOrmUtilService<E>;
    jsonApiTransformerService: JsonApiTransformerService<E>;
    getAll(query: Query<E>): Promise<ResourceObject<E, 'array'>>;
    getOne(id: number | string, query: QueryOne<E>): Promise<ResourceObject<E>>;
    deleteOne(id: number | string): Promise<void>;
    postOne(inputData: PostData<E>): Promise<ResourceObject<E>>;
    patchOne(id: number | string, inputData: PatchData<E>): Promise<ResourceObject<E>>;
    getRelationship<Rel extends EntityRelation<E>>(id: number | string, rel: Rel): Promise<ResourceObjectRelationships<E, Rel>>;
    deleteRelationship<Rel extends EntityRelation<E>>(id: number | string, rel: Rel, input: PostRelationshipData): Promise<void>;
    postRelationship<Rel extends EntityRelation<E>>(id: number | string, rel: Rel, input: PostRelationshipData): Promise<ResourceObjectRelationships<E, Rel>>;
    patchRelationship<Rel extends EntityRelation<E>>(id: number | string, rel: Rel, input: PatchRelationshipData): Promise<ResourceObjectRelationships<E, Rel>>;
}
