import type { JsonObject } from "../sync/json-path.js";
import type { ClaudeAutomationLister, ClaudeScheduleListingReader, CodexAutomationLister, CodexDirReadableCheck, HarnessAutomationObservation, ProjectIdentityResolver } from "./ui-automations.js";
/**
 * Default Codex automations directory (`$CODEX_HOME/automations` or `~/.codex/automations`).
 * @returns Absolute directory path
 */
export declare function resolveDefaultCodexAutomationsDir(): string;
/** Minimal expected-fleet entry consumed by setup readiness. */
export interface ExpectedAutomationEntry {
    readonly id: string;
    readonly automationId: string;
}
/**
 * Resolve applicable automations through setup-automations' shared contract.
 * @param config - Current merged Lisa config
 * @param detectedTypes - Authoritatively detected project types
 * @param gitRemoteUrl - Optional origin fallback for repository identity
 * @returns Applicable expected entries; unsupported loops are excluded
 */
export declare function resolveExpectedAutomationEntries(config: JsonObject, detectedTypes: readonly string[], gitRemoteUrl?: string): Promise<readonly ExpectedAutomationEntry[]>;
/**
 * Read the origin remote URL via git without a shell.
 * @param cwd - Project root
 * @param signal - Abort signal
 * @returns Origin URL, or undefined when unavailable
 */
export declare function readOriginRemote(cwd: string, signal: AbortSignal): Promise<string | undefined>;
/** Raw adapter fields normalized by {@link toObservation}. */
export interface AdapterObservationInput {
    readonly automationId: string;
    readonly observedCadence?: string;
    readonly status?: string;
    readonly lastRunAt?: string | null;
}
/**
 * Normalize adapter observations into the probe's observation shape.
 * @param entry - Adapter observation fields
 * @returns Probe observation without invented cadence/status
 */
export declare function toObservation(entry: AdapterObservationInput): HarnessAutomationObservation;
/**
 * Default identity resolver: config + origin remote → `lisa-auto-<project>-`.
 * @param cwd - Project root
 * @param signal - Abort signal
 * @returns Automation project identity
 */
export declare const defaultResolveIdentity: ProjectIdentityResolver;
/**
 * Default Codex directory readability check.
 * @param automationsDir - Directory to probe
 * @param signal - Probe cancellation signal
 * @returns Whether the directory is readable
 */
export declare const defaultCodexDirReadable: CodexDirReadableCheck;
/**
 * Default Claude `/schedule` reader — Node cannot invoke the interactive
 * `/schedule` surface, so the default is honest unavailability.
 * @returns Always null
 */
export declare const defaultReadClaudeScheduleListing: ClaudeScheduleListingReader;
/**
 * Default Codex lister via the shared automation-status adapter.
 * @param input - Prefix and optional directory override
 * @returns Observed Codex automations
 */
export declare const defaultListCodexAutomations: CodexAutomationLister;
/**
 * Load the default Claude lister from the shared adapter.
 * @returns Claude automation lister
 */
export declare function loadDefaultListClaudeAutomations(): Promise<ClaudeAutomationLister>;
//# sourceMappingURL=ui-automations-adapters.d.ts.map