import { GraphQLProject } from "./base"; import { GraphQLSchema, FragmentDefinitionNode, FragmentSpreadNode, OperationDefinitionNode, DocumentNode, FieldNode, ObjectTypeDefinitionNode } from "graphql"; import { NotificationHandler } from "vscode-languageserver"; import { LoadingHandler } from "../loadingHandler"; import { SchemaTag, ServiceID, ClientIdentity } from "../engine"; import { ClientConfig } from "../config"; import URI from "vscode-uri"; export declare function isClientProject(project: GraphQLProject): project is GraphQLClientProject; export interface GraphQLClientProjectConfig { clientIdentity?: ClientIdentity; config: ClientConfig; rootURI: URI; loadingHandler: LoadingHandler; } export declare class GraphQLClientProject extends GraphQLProject { rootURI: URI; serviceID?: string; config: ClientConfig; private serviceSchema?; private _onDecorations?; private _onSchemaTags?; private fieldStats?; constructor({ config, loadingHandler, rootURI, clientIdentity }: GraphQLClientProjectConfig); readonly displayName: string; initialize(): Promise[]; getProjectStats(): { type: string; serviceId: string | undefined; types: { service: number; client: number; total: number; }; tag: string; loaded: boolean; lastFetch: number | undefined; }; onDecorations(handler: (any: any) => void): void; onSchemaTags(handler: NotificationHandler<[ServiceID, SchemaTag[]]>): void; updateSchemaTag(tag: SchemaTag): Promise; private loadServiceSchema; resolveSchema(): Promise; readonly clientSchema: DocumentNode; validate(): Promise; loadEngineData(): Promise; generateDecorations(): void; readonly fragments: { [fragmentName: string]: FragmentDefinitionNode; }; readonly operations: { [operationName: string]: OperationDefinitionNode; }; readonly mergedOperationsAndFragments: { [operationName: string]: DocumentNode; }; readonly mergedOperationsAndFragmentsForService: { [operationName: string]: DocumentNode; }; getOperationFieldsFromFieldDefinition(fieldName: string, parent: ObjectTypeDefinitionNode | null): FieldNode[]; fragmentSpreadsForFragment(fragmentName: string): FragmentSpreadNode[]; } //# sourceMappingURL=client.d.ts.map