/**
 * Remote module for .cleo/.git push/pull operations.
 *
 * Manages a dedicated git remote for the isolated .cleo/.git repo
 * (ADR-013, ADR-015 Phase 2). Enables multi-contributor sharing
 * of CLEO state files via standard git push/pull semantics.
 *
 * @task T4884
 */
/** Remote configuration. */
export interface RemoteConfig {
    name: string;
    url: string;
}
/** Result of a push operation. */
export interface PushResult {
    success: boolean;
    branch: string;
    remote: string;
    message: string;
}
/** Result of a pull operation. */
export interface PullResult {
    success: boolean;
    branch: string;
    remote: string;
    message: string;
    hasConflicts: boolean;
    conflictFiles: string[];
}
/** Result of a remote list operation. */
export interface RemoteInfo {
    name: string;
    fetchUrl: string;
    pushUrl: string;
}
/**
 * Get the current branch name in .cleo/.git.
 * @task T4884
 */
export declare function getCurrentBranch(cwd?: string): Promise<string>;
/**
 * Add a git remote to .cleo/.git.
 * @task T4884
 */
export declare function addRemote(url: string, name?: string, cwd?: string): Promise<void>;
/**
 * Remove a git remote from .cleo/.git.
 * @task T4884
 */
export declare function removeRemote(name?: string, cwd?: string): Promise<void>;
/**
 * List configured remotes in .cleo/.git.
 * @task T4884
 */
export declare function listRemotes(cwd?: string): Promise<RemoteInfo[]>;
/**
 * Push .cleo/.git to a remote.
 * @task T4884
 */
export declare function push(remote?: string, options?: {
    force?: boolean;
    setUpstream?: boolean;
}, cwd?: string): Promise<PushResult>;
/**
 * Pull from a remote into .cleo/.git.
 * Uses rebase strategy to maintain clean history.
 * @task T4884
 */
export declare function pull(remote?: string, cwd?: string): Promise<PullResult>;
/**
 * Get the sync status between local .cleo/.git and remote.
 * @task T4884
 */
export declare function getSyncStatus(remote?: string, cwd?: string): Promise<{
    ahead: number;
    behind: number;
    branch: string;
    remote: string;
}>;
//# sourceMappingURL=index.d.ts.map