import * as graphql from 'graphql'; import type { CachePolicies, ConfigFile, PaginateModes } from '../runtime/lib'; import { type Adapter } from './router'; import type { LogLevels, PluginConfig, PluginHooks, ValueMap } from './types'; export type PluginMeta = PluginHooks & { name: string; filepath: string; }; export declare class Config { #private; filepath: string; rootDir: string; localSchema: boolean; projectRoot: string; schema: graphql.GraphQLSchema; runtimeDir?: string; schemaPath?: string; persistedQueriesPath: string; exclude: string[]; scalars?: ConfigFile['scalars']; module: 'commonjs' | 'esm'; cacheBufferSize?: number; defaultCachePolicy: CachePolicies; defaultPartial: boolean; internalListPosition: 'first' | 'last'; defaultListTarget: 'all' | null; defaultPaginateMode: PaginateModes; definitionsFolder?: string; newDocuments: string; defaultKeys: string[]; typeConfig: ConfigFile['types']; configFile: ConfigFile; logLevel: LogLevels; defaultFragmentMasking: 'enable' | 'disable'; configIsRoute: ((filepath: string) => boolean) | null; routesDir: string; schemaPollInterval: number | null; schemaPollTimeout: number; schemaPollHeaders: ((env: any) => Record) | Record string)>; pluginMode: boolean; plugins: PluginMeta[]; adapter?: Adapter; componentFields: Record>; constructor({ filepath, loadFrameworkConfig, ...configFile }: ConfigFile & { filepath: string; loadFrameworkConfig?: boolean; }); apiURL(): Promise; get include(): string[]; pluginConfig(name: string): ConfigType; getEnv(): Promise>; processEnvValues(env: Record, value: string | ((env: any) => string)): string | undefined; pullHeaders(): Promise; pluginRuntimeSource(plugin: PluginMeta): string | null; pluginStaticRuntimeSource(plugin: PluginMeta): string | null; sourceFiles(): Promise; get componentScalar(): string; schemaString: string; set newSchema(value: string); get newSchema(): string; get artifactDirectory(): string; get artifactDirectoryName(): string; get sourceDir(): string; get localApiDir(): string; get localSchemaPath(): string; get localAPIUrl(): string; get artifactTypeDirectory(): string; get runtimeDirectory(): string; get definitionsDirectory(): string; get enumRuntimeDefinitionsPath(): string; get enumTypesDefinitionsPath(): string; get definitionsSchemaPath(): string; get routerBuildDirectory(): string; get definitionsDocumentsPath(): string; get typeIndexPath(): string; get typeRootDir(): string; get typeRootFile(): string; get runtimeSource(): string; artifactTypePath(document: graphql.DocumentNode): string; artifactPath(document: graphql.DocumentNode): string; artifactImportPath(name: string): string; keyFieldsForType(type: string): string[]; computeID(type: string, data: any): string; documentName(document: graphql.DocumentNode): string; isSelectionScalar(type: string): boolean; createDirectories(): void; get compiledAssetsDir(): string; compiledAssetPath(filepath: string): string; excludeFile(filepath: string, { root }: { root?: string; }): boolean; includeFile(filepath: string, { root, ignore_plugins, }?: { root?: string; ignore_plugins?: boolean; }): boolean; pluginRuntimeDirectory(name: string): string; pluginStaticRuntimeDirectory(name: string): string; get pluginRootDirectory(): string; pluginDirectory(name: string): string; get loadDirective(): string; get maskEnableDirective(): string; get maskDisableDirective(): string; get listDirective(): string; get dedupeDirective(): string; get optimisticKeyDirective(): string; get listPrependDirective(): string; get listAppendDirective(): string; get listParentDirective(): string; get blockingDirective(): string; get blockingDisableDirective(): string; /** * @deprecated */ get deprecatedlistDirectiveParentIDArg(): string; get listAllListsDirective(): string; get listOrPaginateNameArg(): string; get insertFragmentSuffix(): string; get removeFragmentSuffix(): string; get toggleFragmentSuffix(): string; get deleteDirectiveSuffix(): string; get loadingDirective(): string; get runtimeScalarDirective(): string; get whenDirective(): string; get whenNotDirective(): string; get liveDirective(): string; get argumentsDirective(): string; get withDirective(): string; get paginateDirective(): string; get paginateModeArg(): string; get cacheDirective(): string; get cachePartialArg(): string; get cachePolicyArg(): string; get requiredDirective(): string; paginationQueryName(documentName: string): string; isDeleteDirective(name: string): boolean; listDeleteDirective(name: string): string; deleteDirectiveType(name: string): string; isInsertFragment(name: string): boolean; listInsertFragment(name: string): string; listToggleFragment(name: string): string; isRemoveFragment(name: string): boolean; isToggleFragment(name: string): boolean; listRemoveFragment(name: string): string; isInternalEnum(node: graphql.EnumTypeDefinitionNode): boolean; isInternalDirective(name: string): boolean; get componentFieldDirective(): string; componentFieldFragmentName(args: { type: string; entry: graphql.DirectiveNode | string; }): string; localDocumentData(document: graphql.DocumentNode): { paginated: boolean; componentFields: { type: string; field: string; }[]; }; registerFragmentVariablesHash({ hash, args, fragment, }: { hash: string; args: ValueMap | null; fragment: string; }): void; getFragmentVariablesHash(hash: string): { args: ValueMap | null; fragment: string; }; serializeValueMap(map: ValueMap | null): ValueMap | null; isListFragment(name: string): boolean; isListOperationDirective(name: string): boolean; isFragmentForList(listName: string, fragmentName: string): boolean; listOperationFromFragment(fragmentName: string): 'insert' | 'remove' | 'toggle'; listNameFromDirective(directiveName: string): string; listNameFromFragment(fragmentName: string): string; extractDefinition(document: graphql.DocumentNode): graphql.ExecutableDefinitionNode; extractQueryDefinition(document: graphql.DocumentNode): graphql.OperationDefinitionNode; variableFunctionName(name: string): string; } export declare function getConfig({ configPath, noSchema, forceReload, ...extraConfig }?: PluginConfig & { noSchema?: boolean; forceReload?: boolean; }): Promise; export declare function readConfigFile(configPath?: string): Promise; export declare const orderedPlugins: (plugins: PluginMeta[]) => PluginMeta[];