import { CogniteClient as CogniteClientV6 } from '@cognite/sdk-v6';
import { CogniteClient } from '@cognite/sdk';
import type { QueryRequest, Query } from './codegen';
import type { ModelNodeMap } from './schema';
import { RelationshipMap } from './schema';
import { FieldsSelection } from '@genql/runtime';
export declare class FDMQueryClient {
    private _client;
    constructor(client: CogniteClient | CogniteClientV6);
    runQuery: <R extends QueryRequest>(query: R & {
        __name?: string;
    }) => Promise<import("@cognite/sdk").HttpResponse<{
        data: FieldsSelection<Query, R>;
    }>>;
    upsertNodes<T extends keyof ModelNodeMap>(key: T, items: ModelNodeMap[T][]): Promise<ModelNodeMap[T][]>;
    upsertRelationships<I extends {
        startNode: string;
        endNode: string;
    }, K extends keyof typeof RelationshipMap>(type: K, property: keyof typeof RelationshipMap[K], items: I[]): Promise<I[]>;
}
export declare const FDMQueryClientBuilder: {
    fromToken: (appId?: string) => FDMQueryClient;
    fromClient: (client: CogniteClient) => FDMQueryClient;
};
export * from './codegen';
export * from './schema';
