///
import { Schema as InternalSchema } from './schema-analyzer';
import { ExpandedJSONSchema, MongoDBJSONSchema, SchemaConverterFn, StandardJSONSchema } from './types';
type Options = {
signal?: AbortSignal;
};
export interface SchemaAccessor {
getStandardJsonSchema: (options?: Options) => Promise;
getMongoDBJsonSchema: (options?: Options) => Promise;
getExpandedJSONSchema: (options?: Options) => Promise;
getInternalSchema: (options?: Options) => Promise;
}
export type InternalConverters = {
internalToStandard: SchemaConverterFn;
internalToExpanded: SchemaConverterFn;
internalToMongoDB: SchemaConverterFn;
};
export declare class InternalSchemaBasedAccessor implements SchemaAccessor {
private internalSchema;
private standardJSONSchema?;
private mongodbJSONSchema?;
private expandedJSONSchema?;
private converters;
constructor(internalSchema: InternalSchema, converters: InternalConverters);
getInternalSchema(): Promise;
getStandardJsonSchema(options?: Options): Promise;
getMongoDBJsonSchema(options?: Options): Promise;
getExpandedJSONSchema(options?: Options): Promise;
}
export {};