export type SetupClientId = 'cursor' | 'claude' | 'claude-code' | 'claude-desktop' | 'opencode' | 'windsurf' | 'antigravity' | 'openclaw' | 'hermes' | 'nanoclaw' | 'picoclaw' | 'codex' | 'aider' | 'continue' | 'cline';
export type SetupInstructionMode = 'replace' | 'codex-managed-agents';
export type SetupInstructionScope = 'home' | 'workspace';
export type SetupState = 'missing' | 'drifted' | 'installed';
export interface SetupInstructionFile {
    path: string;
    content: string;
    scope: SetupInstructionScope;
    mode?: SetupInstructionMode;
}
export interface SetupDefinition {
    id: SetupClientId;
    label: string;
    workspaceRoot: string;
    configPath?: string;
    instructionFiles: SetupInstructionFile[];
}
export interface BootstrapManifestClientStatus {
    clientId: SetupClientId;
    label: string;
    state: SetupState;
    configPath?: string;
    instructionFiles: string[];
    homeReady: boolean;
    workspaceReady: boolean;
    memoryHookReady: boolean;
    memoryHookSummary: string;
    summary: string;
    updatedAt: number;
}
export interface BootstrapManifestStatus {
    version: number;
    generatedAt: number;
    workspaceRoot?: string;
    clients: BootstrapManifestClientStatus[];
}
export interface EnsureBootstrapOptions {
    packageRoot: string;
    workspaceRoot?: string;
    phase?: 'install' | 'runtime';
    silent?: boolean;
    dryRun?: boolean;
}
export declare function validateTargetPath(targetPath: string): {
    valid: boolean;
    reason?: string;
};
export declare function resolveCodexConfigPath(): string;
export declare function renderCodexMcpTomlConfig(): string;
export declare function writeCodexMcpConfig(targetPath: string): void;
export declare function hasExpectedCodexConfig(targetPath: string): boolean;
export declare function getSetupDefinition(clientId: SetupClientId, options: {
    packageRoot: string;
    workspaceRoot?: string;
}): SetupDefinition;
export declare function installSetup(definition: SetupDefinition, options?: {
    scope?: 'all' | 'home' | 'workspace';
    silent?: boolean;
    workspaceRoot?: string;
}): void;
export declare function hasExpectedConfig(definition: SetupDefinition): boolean;
export declare function statusForDefinition(definition: SetupDefinition): {
    state: SetupState;
    summary: string;
    homeReady: boolean;
    workspaceReady: boolean;
    memoryHookReady: boolean;
    memoryHookSummary: string;
};
export declare function supportedSetupClients(): SetupClientId[];
export declare function readBootstrapManifest(stateRoot?: string, workspaceRoot?: string): BootstrapManifestStatus | undefined;
export declare function writeBootstrapManifest(status: BootstrapManifestStatus, stateRoot?: string, workspaceRoot?: string): BootstrapManifestStatus;
export declare function collectBootstrapManifest(options: {
    packageRoot: string;
    workspaceRoot?: string;
}): BootstrapManifestStatus;
export declare function ensureBootstrap(options: EnsureBootstrapOptions): BootstrapManifestStatus;
