import type { CollectionRecord, PrimaryKey } from '../Contracts';
import type { Fluent } from '../Models';
import CollectionRepository from './CollectionRepository';
export default abstract class FileRepository extends CollectionRepository {
    /**
     * Resolve items from the store path.
     */
    protected resolveItems(): CollectionRecord[];
    /**
     * Store given model into the storage.
     */
    store(model: Fluent): Promise<Fluent>;
    /**
     * Store given model into the storage.
     */
    update(model: Fluent): Promise<Fluent>;
    /**
     * Delete model for the given key.
     */
    delete(key: PrimaryKey): Promise<void>;
    /**
     * Write given items to storage.
     */
    protected write(items: Fluent[]): void;
    /**
     * Get path of the stored files.
     */
    abstract filepath(): string;
}
