import type { DocHandle } from '@automerge/automerge-repo';
import type * as Schema from 'effect/Schema';
import type { DocumentContent, Entity, EntityFieldFilter, EntityFilter } from './types.js';
/**
 * Queries for a list of entities of the given type from the repo.
 */
export declare function findMany<const S extends Schema.Schema.AnyNoContext>(handle: DocHandle<DocumentContent>, type: S, filter: EntityFilter<Schema.Schema.Type<S>> | undefined, include: {
    [K in keyof Schema.Schema.Type<S>]?: Record<string, Record<string, never>>;
} | undefined): {
    entities: Readonly<Array<Entity<S>>>;
    corruptEntityIds: Readonly<Array<string>>;
};
export type FindManySubscription<S extends Schema.Schema.AnyNoContext> = {
    subscribe: (callback: () => void) => () => void;
    getEntities: () => Readonly<Array<Entity<S>>>;
};
export declare function subscribeToFindMany<const S extends Schema.Schema.AnyNoContext>(handle: DocHandle<DocumentContent>, type: S, filter: {
    [K in keyof Schema.Schema.Type<S>]?: EntityFieldFilter<Schema.Schema.Type<S>[K]>;
} | undefined, include: {
    [K in keyof Schema.Schema.Type<S>]?: Record<string, Record<string, never>>;
} | undefined): FindManySubscription<S>;
//# sourceMappingURL=findMany.d.ts.map