import type { Logger } from "@osdk/api";
import type { SharedClientContext } from "@osdk/shared.client2";
import type { OntologyProvider } from "./ontology/OntologyProvider.js";
declare const tag: unique symbol;
export type ClientCacheKey = {} & {
	readonly [tag]: void
};
export type RequestContext = {
	finalMethodCall?: string
};
export interface MinimalClient extends SharedClientContext {
	ontologyRid: string | Promise<string>;
	ontologyProvider: OntologyProvider;
	logger?: Logger;
	branch?: string;
	flushEdits?: () => Promise<void>;
	clientCacheKey: ClientCacheKey;
	requestContext: RequestContext;
	narrowTypeInterfaceOrObjectMapping: Record<string, "object" | "interface">;
}
export type MinimalClientParams = {
	metadata: MinimalClientMetadata
	provider: OntologyProvider
};
export interface MinimalClientMetadata {
	ontologyRid: string | Promise<string>;
}
export {};
