import type { InterfaceDefinition, ObjectTypeDefinition } from "@osdk/api";
import type { ListPayload } from "../../ListPayload.js";
import type { ObserveListOptions } from "../../ObservableClient.js";
import type { Observer } from "../../ObservableClient/common.js";
import { AbstractHelper } from "../AbstractHelper.js";
import type { CacheKeys } from "../CacheKeys.js";
import type { IntersectCanonicalizer } from "../IntersectCanonicalizer.js";
import type { KnownCacheKey } from "../KnownCacheKey.js";
import type { OrderByCanonicalizer } from "../OrderByCanonicalizer.js";
import type { PivotCanonicalizer } from "../PivotCanonicalizer.js";
import type { QuerySubscription } from "../QuerySubscription.js";
import type { RdpCanonicalizer } from "../RdpCanonicalizer.js";
import type { Store } from "../Store.js";
import type { WhereClauseCanonicalizer } from "../WhereClauseCanonicalizer.js";
import type { ListQuery } from "./ListQuery.js";
export declare class ListsHelper extends AbstractHelper<ListQuery, ObserveListOptions<ObjectTypeDefinition | InterfaceDefinition>> {
	whereCanonicalizer: WhereClauseCanonicalizer;
	orderByCanonicalizer: OrderByCanonicalizer;
	rdpCanonicalizer: RdpCanonicalizer;
	intersectCanonicalizer: IntersectCanonicalizer;
	pivotCanonicalizer: PivotCanonicalizer;
	constructor(store: Store, cacheKeys: CacheKeys<KnownCacheKey>, whereCanonicalizer: WhereClauseCanonicalizer, orderByCanonicalizer: OrderByCanonicalizer, rdpCanonicalizer: RdpCanonicalizer, intersectCanonicalizer: IntersectCanonicalizer, pivotCanonicalizer: PivotCanonicalizer);
	observe<T extends ObjectTypeDefinition | InterfaceDefinition>(options: ObserveListOptions<T>, subFn: Observer<ListPayload>): QuerySubscription<ListQuery>;
	getQuery<T extends ObjectTypeDefinition | InterfaceDefinition>(options: ObserveListOptions<T>): ListQuery;
}
