import { type PathsConfig, type VaskuConfig } from '../../config/types';
export type Metadata = {
    modificationTime: number;
    imports: string[];
};
export declare function compile(config: VaskuConfig, all?: boolean): Promise<void>;
/**
 * Read all files from contracts directory
 * @param config
 * @return
 *   ['A.tsol', 'B.tsol', 'x/C.tsol']
 */
export declare function readContracts(config: PathsConfig): string[];
/**
 * If the contract has not changed, read the metadata from the cache. If changed, read from file
 * @param config
 * @param cache
 *   {
 *     'A.tsol': {
 *       modificationTime: 1666666666,
 *       imports: ['IA.tsol']
 *     }
 *   }
 * @param contracts
 *   ['A.tsol', 'B.tsol']
 * @return
 *   {
 *     'A.tsol': {
 *       modificationTime: 1666666666,
 *       imports: ['IA.tsol']
 *     },
 *     'B.tsol': {
 *       modificationTime: 1666666666,
 *       imports: ['IB.tsol']
 *     }
 *   }
 */
export declare function readMetadata(config: PathsConfig, cache: Record<string, Metadata>, contracts: string[]): Record<string, Metadata>;
//# sourceMappingURL=index.d.ts.map