import { CanisterConfig, Config } from "../types.js"; /** Single source of truth for "how moc is invoked for canister X" — keeps * `mops build` and `mops generate candid` in lockstep so the auto-generated * `.did` they each produce stays subtype-compatible with the curated one * embedded by `mops build`. */ export interface PrepareMocArgsOptions { /** Selects the migration trim limit (`build-limit` vs `check-limit`). */ mode: "check" | "build"; /** Per-flag hints used when warning about conflicting `args` entries. */ managedFlags: Record; /** Command label shown in the warning, e.g. "mops build". */ commandName: string; verbose?: boolean; extraArgs?: string[]; } export interface PreparedMocArgs { motokoPath: string; /** sources + [moc].args + migration + [build].args + [canisters.x].args + CLI extras. */ args: string[]; /** Cleans up the migration staging dir; call from a `finally`. */ cleanup: () => Promise; } export declare const BUILD_MANAGED_FLAGS: Record; export declare const GENERATE_CANDID_MANAGED_FLAGS: Record; export declare function prepareMocArgs(config: Config, canister: CanisterConfig, canisterName: string, options: PrepareMocArgsOptions): Promise;