export interface Module {
    path: string;
    requires: string[];
    version: string;
}
export type ModuleMap = Record<string, Module>;
/**
 * List all modules by parsing .control files in the provided directory.
 */
export declare const listModules: (workspaceDir: string) => ModuleMap;
/**
 * Get the latest change from the sqitch.plan file for a specific module.
 */
export declare const latestChange: (sqlmodule: string, modules: ModuleMap, basePath: string) => string;
/**
 * Get the latest change and version for a specific module.
 */
export declare const latestChangeAndVersion: (sqlmodule: string, modules: ModuleMap, basePath: string) => {
    change: string;
    version: string;
};
/**
 * Get extensions and modules required by a specific module.
 */
export declare const getExtensionsAndModules: (sqlmodule: string, modules: ModuleMap) => {
    native: string[];
    sqitch: string[];
};
/**
 * Get extensions and modules with their latest changes and versions.
 */
export declare const getExtensionsAndModulesChanges: (sqlmodule: string, modules: ModuleMap, basePath: string) => {
    native: string[];
    sqitch: {
        name: string;
        latest: string;
        version: string;
    }[];
};
