import type { BundleCapability, BundleCompilerIr, ExecutableDisclosure, PlatformInstallFile } from './types.js'; import { type Platform } from '../../platform/install/platforms.js'; export interface PlatformBundleLayout { platform: string; scope: 'project' | 'global'; baseDir: string; configRoot: string; skillsRoot: string; rulesRoot: string | null; hooksSupported: boolean; scriptsRoot: string | null; agentsRoot: string | null; } export interface BundlePlatformTarget { id: string; name: string; platform: Platform; layout: PlatformBundleLayout; capabilities: ReadonlySet; } export declare function listBundlePlatformTargets(options: { projectRoot: string; homeDir: string; scope: 'project' | 'global'; }): BundlePlatformTarget[]; export declare function planBundleRule(target: BundlePlatformTarget, rule: BundleCompilerIr['rules'][number]): PlatformInstallFile[]; export declare function planBundleHook(target: BundlePlatformTarget, hook: BundleCompilerIr['hooks'][number], scripts: BundleCompilerIr['scripts'], bundleName?: string, installedScriptDestination?: string, commandScriptPath?: string): { files: PlatformInstallFile[]; disclosure: ExecutableDisclosure; } | null; export declare function planBundleOverride(target: BundlePlatformTarget, override: BundleCompilerIr['overrides'][number], kind: PlatformInstallFile['kind']): PlatformInstallFile; export declare function applyPlatformInstallPlan(options: { target: BundlePlatformTarget; files: PlatformInstallFile[]; overwrite: boolean; }): Promise<{ written: string[]; skipped: string[]; }>; //# sourceMappingURL=bundle-platform.d.ts.map