import type { EntityBase } from '../entity-base';
import type { Filterable } from '../filter';
import type { DeSerializers, UriConverter } from '../de-serializers';
import type { EntityApi } from '../entity-api';
type GetFilterType = <EntityT extends EntityBase, TargetEntityT extends EntityBase, DeSerializersT extends DeSerializers>(filter: Filterable<EntityT, DeSerializersT, any>, entityApi: EntityApi<TargetEntityT, DeSerializersT>) => Partial<{
    filter: string;
}>;
/**
 * Interface representing the return of the getFilter creator {@link createGetFilter}.
 * @internal
 */
export interface GetFilter {
    /**
     * @internal
     */
    getFilter: GetFilterType;
}
/**
 * Creates a getFilter function using the OData v2 or OData v4 URI converter.
 * The concrete filter getters are initiated in odata/v2/uri-conversion/odata-uri.ts and odata/v4/uri-conversion/odata-uri.ts.
 * @param uriConverter - URI converter for v2 or v4.
 * @returns The filter getter. See interface {@link GetFilter}
 * @internal
 */
export declare function createGetFilter(uriConverter: UriConverter): GetFilter;
export {};
