import { FTCreateParameters, Redisearch } from 'redis-modules-sdk';
import { Selector } from 'reselect';
import type { Commit, EntityType } from '../types';
import type { RedisearchDefinition, RedisRepository } from './types';
export declare const createRedisRepository: <TInput, TItemInRedis, TOutput>(entity: EntityType<TInput> | string, option: {
    client: Redisearch;
    kind?: 'entity' | 'commit';
    fields: RedisearchDefinition<TInput>;
    param?: FTCreateParameters;
    preSelector?: Selector<[TInput, Commit[]?], TItemInRedis>;
    postSelector?: Selector<TItemInRedis, TOutput>;
}) => RedisRepository<TOutput>;
