import { z } from 'zod';
export declare const worktreePlatformSchema: z.ZodEnum<{
    github: "github";
    gitlab: "gitlab";
}>;
export type WorktreePlatform = z.infer<typeof worktreePlatformSchema>;
export declare const worktreeIdentitySchema: z.ZodObject<{
    platform: z.ZodEnum<{
        github: "github";
        gitlab: "gitlab";
    }>;
    projectPath: z.ZodString;
    mrNumber: z.ZodNumber;
}, z.core.$strip>;
export type WorktreeIdentity = z.infer<typeof worktreeIdentitySchema>;
export type WorktreePath = string & {
    readonly __brand: 'WorktreePath';
};
export type MrSource = {
    kind: 'origin';
} | {
    kind: 'fork';
    cloneUrl: string;
};
export interface FetchRef {
    remote: string;
    refspec: string;
    worktreeRef: string;
}
export interface WorktreeEntry {
    identity: WorktreeIdentity;
    path: WorktreePath;
    mtime: Date;
}
export type EnsureResult = {
    status: 'created';
    path: WorktreePath;
    settingsWarning: string | null;
} | {
    status: 'reused';
    path: WorktreePath;
} | {
    status: 'failed';
    reason: string;
};
export type RemoveResult = {
    status: 'removed';
} | {
    status: 'absent';
} | {
    status: 'failed';
    warning: string;
};
//# sourceMappingURL=worktree.schema.d.ts.map