import { IChatitoEntityAST, IEntities, ISentenceTokens, IStatCache, IUtteranceWriter } from './types';
export declare const VALID_DISTRIBUTIONS: readonly ["regular", "even"];
export interface IConfigOptions {
    defaultDistribution?: typeof VALID_DISTRIBUTIONS[number];
}
declare type Configuration = Required<IConfigOptions>;
export declare const config: Configuration;
export declare const getVariationsFromEntity: <T>(ed: IChatitoEntityAST, entities: IEntities, optional: boolean, cache: Map<string, IStatCache>) => Promise<ISentenceTokens[]>;
export declare const getExampleByNumber: (defs: IEntities, entity: IChatitoEntityAST, combinationNumber: number) => ISentenceTokens[];
export declare function allExamplesGenerator(defs: IEntities, entity: IChatitoEntityAST): IterableIterator<ISentenceTokens[]>;
export declare type IFileImporter = (fromPath: string, importFile: string) => {
    filePath: string;
    dsl: string;
};
export declare const astFromString: (str: string) => IChatitoEntityAST[];
export declare const datasetFromString: (str: string, writterFn: IUtteranceWriter, importer?: IFileImporter | undefined, currentPath?: string | undefined) => Promise<void>;
export declare const getImports: (from: string, to: string, importer: IFileImporter) => IChatitoEntityAST[];
export declare const definitionsFromAST: (initialAst: IChatitoEntityAST[], importHandler?: IFileImporter | undefined, currPath?: string | undefined) => IEntities | undefined;
export declare const datasetFromAST: (initialAst: IChatitoEntityAST[], writterFn: IUtteranceWriter, importHandler?: IFileImporter | undefined, currPath?: string | undefined) => Promise<void>;
export {};
