import { ProcessPromise } from 'zx';
import { ChainName, WarpRouteDeployConfig, WarpRouteDeployConfigMailboxRequired } from '@hyperlane-xyz/sdk';
import { Address } from '@hyperlane-xyz/utils';
/**
 * Deploys the Warp route to the specified chain using the provided config.
 */
export declare function hyperlaneWarpInit(warpCorePath: string): ProcessPromise;
/**
 * Deploys the Warp route to the specified chain using the provided config.
 */
export declare function hyperlaneWarpDeployRaw({ warpCorePath, hypKey, skipConfirmationPrompts, privateKey, }: {
    warpCorePath?: string;
    hypKey?: string;
    skipConfirmationPrompts?: boolean;
    privateKey?: string;
}): ProcessPromise;
/**
 * Deploys the Warp route to the specified chain using the provided config.
 */
export declare function hyperlaneWarpDeploy(warpCorePath: string): ProcessPromise;
/**
 * Applies updates to the Warp route config.
 */
export declare function hyperlaneWarpApply(warpDeployPath: string, warpCorePath: string, strategyUrl?: string): Promise<import("zx").ProcessOutput>;
export declare function hyperlaneWarpReadRaw({ chain, warpAddress, outputPath, symbol, }: {
    chain?: string;
    symbol?: string;
    warpAddress?: string;
    outputPath?: string;
}): ProcessPromise;
export declare function hyperlaneWarpRead(chain: string, warpAddress: string, warpDeployPath: string): ProcessPromise;
export declare function hyperlaneWarpCheckRaw({ warpDeployPath, symbol, }: {
    symbol?: string;
    warpDeployPath?: string;
}): ProcessPromise;
export declare function hyperlaneWarpCheck(warpDeployPath: string, symbol: string): ProcessPromise;
export declare function hyperlaneWarpSendRelay(origin: string, destination: string, warpCorePath: string, relay?: boolean, value?: number): ProcessPromise;
/**
 * Reads the Warp route deployment config to specified output path.
 * @param warpCorePath path to warp core
 * @param warpDeployPath path to output the resulting read
 * @returns The Warp route deployment config.
 */
export declare function readWarpConfig(chain: string, warpCorePath: string, warpDeployPath: string): Promise<WarpRouteDeployConfigMailboxRequired>;
type GetWarpTokenConfigOptions = {
    mailbox: Address;
    owner: Address;
    token: Address;
    vault: Address;
    chainName: ChainName;
};
export declare function generateWarpConfigs(chain1Config: GetWarpTokenConfigOptions, chain2Config: GetWarpTokenConfigOptions): ReadonlyArray<WarpRouteDeployConfig>;
export {};
//# sourceMappingURL=warp.d.ts.map