import type { HttpContractConfig } from "./types.js";
/**
 * Contract input accepted by APIs that can unwrap builders.
 */
export type ContractLike = HttpContractConfig | {
    config: HttpContractConfig;
};
/**
 * Resolve a contract-like type to its plain `HttpContractConfig`.
 */
export type ResolveContract<T> = T extends {
    config: infer C;
} ? C extends HttpContractConfig ? C : never : T extends HttpContractConfig ? T : never;
/**
 * Resolve a contract builder or plain config to the underlying contract config.
 *
 * @param c - The contract-like object to resolve
 * @returns The underlying HttpContractConfig
 */
export declare function resolveContract<T extends ContractLike>(c: T): ResolveContract<T>;
//# sourceMappingURL=contract-like.d.ts.map