import type { ImportFn, Logger, MeshFetch } from '@graphql-mesh/types';
import { processDirectives } from './directives.js';
export interface LoadGraphQLSchemaFromODataOpts {
    endpoint: string;
    source?: string;
    baseDir: string;
    schemaHeaders?: Record<string, string>;
    operationHeaders?: Record<string, string>;
    fetchFn: MeshFetch;
    logger: Logger;
    importFn: ImportFn;
    batch?: 'none' | 'json' | 'multipart';
    expandNavProps?: boolean;
}
export declare function loadNonExecutableGraphQLSchemaFromOData(name: string, { endpoint: nonInterpolatedBaseUrl, operationHeaders, importFn, logger, fetchFn, source, baseDir, schemaHeaders, batch, expandNavProps }: LoadGraphQLSchemaFromODataOpts): Promise<import("graphql").GraphQLSchema>;
export declare function loadGraphQLSchemaFromOData(name: string, opts: LoadGraphQLSchemaFromODataOpts): Promise<import("graphql").GraphQLSchema>;
export { processDirectives };
export declare function loadODataSubgraph(name: string, options: Omit<LoadGraphQLSchemaFromODataOpts, 'logger' | 'fetchFn' | 'baseDir' | 'importFn'>): (ctx: {
    fetch: MeshFetch;
    cwd: string;
    logger: Logger;
}) => {
    name: string;
    schema$: Promise<import("graphql").GraphQLSchema>;
};
