import type { MemoryScope } from "./engine-client.js";
export interface DetectedProject {
    project: string;
}
/**
 * Sync detection (v0.3.1 surface). Does NOT consult the project ID
 * card. Use the async variant for v0.4+ behavior.
 */
export declare function detectProjectScope(cwd?: string): DetectedProject | null;
/**
 * v0.4: async detection that consults the project ID card first.
 *
 * Order:
 *   1. OPENSQUID_PROJECT env → wins
 *   2. .opensquid/project.json card (any ancestor of cwd) → stable id
 *   3. git basename → fallback
 *   4. null
 */
export declare function detectProjectScopeAsync(cwd?: string): Promise<DetectedProject | null>;
/**
 * Sync default-memorize-scope (v0.3.1 surface).
 */
export declare function defaultMemorizeScope(cwd?: string): MemoryScope;
/**
 * v0.4: async default-memorize-scope that consults the project ID
 * card. Also AUTO-CREATES the card on first call in a new project
 * (so the second call onward gets a stable id even if the user
 * renames the directory). Pass `autoCreate: false` to skip creation.
 */
export declare function defaultMemorizeScopeAsync(cwd?: string, options?: {
    autoCreate?: boolean;
}): Promise<MemoryScope>;
/**
 * Sync default-recall-scope-filter (v0.3.1 surface).
 */
export declare function defaultRecallScopeFilter(cwd?: string): {
    kind: "any_of";
    scopes: MemoryScope[];
};
/**
 * v0.4: async default-recall-scope-filter that consults the project
 * ID card. Does NOT auto-create a card — recall is read-only.
 */
export declare function defaultRecallScopeFilterAsync(cwd?: string): Promise<{
    kind: "any_of";
    scopes: MemoryScope[];
}>;
//# sourceMappingURL=scope.d.ts.map