import { SetOptional } from 'type-fest';
type BasicMockedCrudServiceConstructorOptions<T, TIDField extends keyof T = never> = {
    initialData?: T[];
    idField?: TIDField;
    autoGenerateId?: boolean;
};
export default class BasicMockedCrudService<T, TIDField extends keyof T = never> {
    private data;
    private idField;
    private autoGenerateId;
    constructor(options?: BasicMockedCrudServiceConstructorOptions<T, TIDField>);
    getAll(): T[];
    getOneById(id: T[keyof T]): T | undefined;
    getOneByPredicate(predicate: (value: T) => boolean): T | undefined;
    getOneByField(field: keyof T, value: T[typeof field]): T | undefined;
    getMany(predicate: (value: T) => boolean): T[];
    create(newItem: SetOptional<T, TIDField>): T;
    update(id: T[keyof T], data: T, strategy?: 'merge' | 'replace'): T | undefined;
    delete(id: T[keyof T]): void;
    clear(): void;
}
export {};
//# sourceMappingURL=BasicMockedCrudService.d.ts.map