import type { AgentCoreProjectSpec, AgentEnvSpec, RuntimeVersion } from '../../schema';
import type { ArtifactResult, CodeBundleConfig, CodeZipPackager, PackageOptions, RuntimePackager } from './types/packaging';
/**
 * Validate that an agent exists in the config
 * @param project AgentCore project configuration
 * @param agentName Name of agent to validate
 * @throws PackagingError if agent not found
 */
export declare function validateAgentExists(project: AgentCoreProjectSpec, agentName: string): void;
/**
 * Get the async runtime packager for CLI usage based on runtime version.
 * Supports both Python and Node/TypeScript runtimes.
 */
export declare function getRuntimePackager(runtimeVersion: RuntimeVersion): RuntimePackager;
/**
 * Get the sync CodeZip packager for CDK bundling based on runtime version.
 * Supports both Python and Node/TypeScript runtimes.
 */
export declare function getCodeZipPackager(runtimeVersion: RuntimeVersion): CodeZipPackager;
/**
 * Get the async runtime packager for Container agents.
 */
export declare function getContainerPackager(): RuntimePackager;
/**
 * Package a runtime asynchronously.
 * This is the primary API for CLI usage.
 * Automatically selects the appropriate packager based on build type and runtime version.
 */
export declare function packRuntime(spec: AgentEnvSpec, options?: PackageOptions): Promise<ArtifactResult>;
/**
 * Package a code bundle synchronously.
 * This is the primary API for CDK bundling.
 * Works with AgentEnvSpec or any object with name, codeLocation, and entrypoint.
 * Defaults to Python if no runtimeVersion is specified.
 */
export declare function packCodeZipSync(config: CodeBundleConfig | AgentEnvSpec, options?: PackageOptions): ArtifactResult;
export type { ArtifactResult, CodeBundleConfig, CodeZipPackager, PackageOptions, RuntimePackager, } from './types/packaging';
export { resolveCodeLocation } from './helpers';
//# sourceMappingURL=index.d.ts.map