export interface GitRepo { hyphenatedName: string; url: string; } export interface RetentionPolicy extends Record { daily: number; weekly: number; monthly: number; } export interface PruneArgs { type: "prune"; gitRepo: GitRepo; remote: Remote; remoteCredentials: RemoteCredentials; retentionPolicy: RetentionPolicy; } export interface SnapshotArgs { type: "snapshot"; gitRepo: GitRepo; remote: Remote; remoteCredentials: RemoteCredentials; } type Args = PruneArgs | SnapshotArgs; export interface RemoteCredentials { accessKeyId: string; secretAccessKey: string; } export interface Remote { bucket: string; endpoint: string; keyPrefix: string; region: string; } export declare function parseRemote(remote: string): Remote; export declare function parseRetentionPolicy(retentionPolicy: string): RetentionPolicy; export declare function parseArgs(args: Array): Args; export {};