import { ContractDesignWithCode } from '.';
/**
 * pull contract design from blocks to local project, based on designID
 * @param designID
 * @param useSimbaPath - if true, then we write to contracts/simbaimports
 * @param absPaths - absolute paths for contracts
 */
export declare function pullContractFromDesignId(designID: string, useSimbaPath?: boolean, absPaths?: Record<any, any>): Promise<null | ContractDesignWithCode>;
/**
 * pull contract design (.sol file) from blocks to local project's contracts
 * @param contractDesign
 * @param useSimbaPath
 * @param absPaths
 */
export declare function pullContractFromContractDesign(contractDesign: ContractDesignWithCode, useSimbaPath?: boolean, absPaths?: Record<any, any>): Promise<void>;
/**
 * pull contract designs (.sol files) interactively from prompts, from blocks to local project's contracts
 * @param contractDesignArray
 * @param useSimbaPath
 * @param absPaths
 * @returns
 */
export declare function pullContractsInteractive(contractDesignArray?: ContractDesignWithCode[], useSimbaPath?: boolean, absPaths?: Record<any, any>): Promise<void>;
/**
 * pull most recent design pattern (.sol file) from blocks to local project's contracts, for each design pattern in org
 * @param contractDesigns
 * @param useSimbaPath
 * @param absPaths
 */
export declare function pullAllMostRecentContracts(contractDesigns: ContractDesignWithCode[], useSimbaPath?: boolean, absPaths?: Record<any, any>): Promise<void>;
/**
 * pull source code from blocks to simba.json
 * @param contractDesign
 */
export declare function pullSourceCodeForSimbaJson(contractDesign: ContractDesignWithCode): void;
/**
 * writes most recent source code to simba.json for each contract design in org
 * this is important because the way we decide which contracts to export during
 * contract export is by comparing source code in simba.json to our compiled/build code
 * @param contractDesigns
 */
export declare function pullAllMostRecentSourceCodeForSimbaJson(contractDesigns: ContractDesignWithCode[]): void;
/**
 * pulls contract design (.sol file) from blocks to local project for single contract
 * @param contractName
 * @param contractDesignArray
 * @param useSimbaPath
 * @param absPaths
 * @returns
 */
export declare function pullMostRecentRecentSolFileFromContractName(contractName: string, contractDesignArray?: ContractDesignWithCode[] | null, useSimbaPath?: boolean, absPaths?: Record<any, any>): Promise<void>;
/**
 * updates source code in simba.json for individual contract
 * @param contractName
 * @param contractDesignArray
 * @returns
 */
export declare function pullMostRecentSourceCodeFromContractName(contractName: string, contractDesignArray?: ContractDesignWithCode[] | null): Promise<void>;
/**
 * pulls source code to simba.json and .sol file to local contracts
 * @param contractName
 * @param contractDesignArray
 * @param useSimbaPath
 * @param absPaths
 * @returns
 */
export declare function pullMostRecentFromContractName(contractName: string, contractDesignArray?: ContractDesignWithCode[], useSimbaPath?: boolean, absPaths?: Record<any, any>): Promise<void>;
/**
 * pulls contract designs (.sol files) to local project's contracts,
 * and also pulls most recent source code to simba.json, from blocks
 * @param pullSourceCodeFiles
 * @param pullSolFiles
 * @param interactive
 * @param useSimbaPath
 * @param absPaths
 * @returns
 */
export declare function pullAllMostRecentSolFilesAndSourceCode(pullSourceCodeFiles?: boolean, pullSolFiles?: boolean, interactive?: boolean, useSimbaPath?: boolean, absPaths?: Record<any, any>): Promise<void>;
//# sourceMappingURL=pull.d.ts.map