import { type ClaudeExtensionHost } from '../../shared/claude-extension-hosts';
import { type ClaudeExtensionBinding } from './claude-extension-binding-service';
export type ClaudeExtensionActionTarget = 'shared' | 'ide' | 'all';
export type ClaudeExtensionFileState = 'applied' | 'drifted' | 'missing' | 'unconfigured';
export interface ClaudeExtensionTargetStatus {
    target: 'shared' | 'ide';
    path: string;
    exists: boolean;
    mtime: number | null;
    state: ClaudeExtensionFileState;
    message: string;
}
export interface ClaudeExtensionBindingStatus {
    bindingId: string;
    sharedSettings: ClaudeExtensionTargetStatus;
    ideSettings: ClaudeExtensionTargetStatus;
}
export declare function getDefaultClaudeExtensionIdeSettingsPath(host: ClaudeExtensionHost): string;
export declare function resolveClaudeExtensionIdeSettingsPath(binding: ClaudeExtensionBinding): string;
export declare function verifyClaudeExtensionBinding(binding: ClaudeExtensionBinding): Promise<ClaudeExtensionBindingStatus>;
export declare function applyClaudeExtensionBinding(binding: ClaudeExtensionBinding, target?: ClaudeExtensionActionTarget): Promise<ClaudeExtensionBindingStatus>;
export declare function resetClaudeExtensionBinding(binding: ClaudeExtensionBinding, target?: ClaudeExtensionActionTarget): Promise<ClaudeExtensionBindingStatus>;
//# sourceMappingURL=claude-extension-settings-service.d.ts.map