import type { GraphQLSchema } from 'graphql';
import ts from 'typescript';
import type { Source } from '@graphql-mesh/config';
import type { Logger, RawSourceOutput, YamlConfig } from '@graphql-mesh/types';
import type { GraphQLMeshCLIParams } from '../index.js';
export type MeshArtifactEsmExt = 'js' | 'mjs';
export declare function getMeshArtifactEmitPlan({ hasTsConfig, tsConfigModule, hasPackageJson, packageJsonType, fileType }: {
    hasTsConfig: boolean;
    tsConfigModule?: string;
    hasPackageJson: boolean;
    packageJsonType?: string;
    fileType: 'ts' | 'json' | 'js';
}): {
    esmExt?: MeshArtifactEsmExt;
    cjs: boolean;
    artifactsPackageType?: 'module' | 'commonjs';
};
export declare function getMeshArtifactsPackageJson(moduleType: 'module' | 'commonjs', esmEntry?: 'index.js' | 'index.mjs', options?: {
    emitCjs?: boolean;
}): {
    name: string;
    private: boolean;
    type: "commonjs" | "module";
    main: string;
    module?: "index.js" | "index.mjs";
    sideEffects: boolean;
    typings: string;
    typescript: {
        definition: string;
    };
    exports: {
        '.': {
            require: string;
            import: string;
        };
        './*': {
            require: string;
            import: string;
        };
    } | {
        '.': string;
        './*': string;
    };
};
/**
 * Load `compilerOptions.module` from the project's `tsconfig.json`, including
 * values inherited via `extends`. Returns `undefined` when there is no
 * tsconfig in `projectDir` itself (parent configs are ignored).
 */
export declare function readResolvedTsConfigModule(projectDir: string): string | undefined;
export declare function generateTsArtifacts({ unifiedSchema, rawSources, mergerType, documents, flattenTypes, importedModulesSet, baseDir, meshConfigImportCodes, meshConfigCodes, logger, sdkConfig, fileType, codegenConfig, pollingInterval }: {
    unifiedSchema: GraphQLSchema;
    rawSources: readonly RawSourceOutput[];
    mergerType: string;
    documents: Source[];
    flattenTypes: boolean;
    importedModulesSet: Set<string>;
    baseDir: string;
    meshConfigImportCodes: Set<string>;
    meshConfigCodes: Set<string>;
    logger: Logger;
    sdkConfig: YamlConfig.SDKConfig;
    fileType: 'ts' | 'json' | 'js';
    codegenConfig: any;
    pollingInterval?: number;
}, cliParams: GraphQLMeshCLIParams): Promise<void>;
export declare function compileTS(tsFilePath: string, module: ts.ModuleKind, outputFilePaths: string[]): void;
