export type ProjectTrustDecision = boolean | null;
export interface ProjectTrustStoreEntry {
    path: string;
    decision: boolean;
}
export interface ProjectTrustUpdate {
    path: string;
    decision: ProjectTrustDecision;
}
export interface ProjectTrustOption {
    label: string;
    trusted: boolean;
    updates: ProjectTrustUpdate[];
    savedPath?: string;
}
export declare const TRUST_REQUIRING_PROJECT_CONFIG_RESOURCES: readonly ["settings.json", "extensions", "skills", "prompts", "themes", "SYSTEM.md", "APPEND_SYSTEM.md"];
export declare function getProjectTrustPath(cwd: string): string;
export declare function getProjectTrustParentPath(cwd: string): string | undefined;
export declare function getProjectTrustOptions(cwd: string, options?: {
    includeSessionOnly?: boolean;
}): ProjectTrustOption[];
export declare function hasProjectConfigDir(cwd: string): boolean;
/**
 * Returns true when cwd has project-local resources that must be gated by
 * project trust: trust-requiring entries under cwd/.atomic or cwd/.pi, or
 * .agents/skills in cwd or one of its ancestors. Returns false for inert
 * state-only config directories. The user-global ~/.agents/skills directory is
 * always treated as a trusted user resource and ignored, even when cwd is $HOME.
 */
export declare function hasTrustRequiringProjectResources(cwd: string): boolean;
export declare function hasProjectTrustInputs(cwd: string): boolean;
export declare class ProjectTrustStore {
    private trustPath;
    constructor(agentDir: string);
    get(cwd: string): ProjectTrustDecision;
    getEntry(cwd: string): ProjectTrustStoreEntry | null;
    set(cwd: string, decision: ProjectTrustDecision): void;
    setMany(decisions: ProjectTrustUpdate[]): void;
}
//# sourceMappingURL=trust-manager.d.ts.map