import { MutationUpdaterFunction, WatchQueryFetchPolicy } from '@apollo/client/core'; import { TypedDocumentNode } from '@graphql-typed-document-node/core'; import { Apollo } from 'apollo-angular'; import { DocumentNode } from 'graphql/language/ast'; import { Observable } from 'rxjs'; import { QueryResult } from '../query-result'; import { ServerConfigService } from '../server-config'; import * as i0 from "@angular/core"; /** * @description * Additional options that can be passed to the `query` and `mutate` methods. * * @since 3.0.4 */ export interface ExtendedQueryOptions { /** * @description * An array of custom field names which should be included in the query or mutation * return data. The automatic inclusion of custom fields is only supported for * entities which are defined as Fragments in the DocumentNode. * * @since 3.0.4 */ includeCustomFields?: string[]; } export declare class BaseDataService { private apollo; private serverConfigService; constructor(apollo: Apollo, serverConfigService: ServerConfigService); private get customFields(); /** * Performs a GraphQL watch query */ query = Record>(query: DocumentNode | TypedDocumentNode, variables?: V, fetchPolicy?: WatchQueryFetchPolicy, options?: ExtendedQueryOptions): QueryResult; /** * Performs a GraphQL mutation */ mutate = Record>(mutation: DocumentNode | TypedDocumentNode, variables?: V, update?: MutationUpdaterFunction, options?: ExtendedQueryOptions): Observable; private prepareCustomFields; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }