import { type Db } from "@rudderhq/db";
import { type OrganizationWorkspaceFileDetail, type OrganizationWorkspaceFileList, type WorkspaceBackupRestoreResult, type WorkspaceBackupSummary, type WorkspaceBackupTriggerSource } from "@rudderhq/shared";
export declare function workspaceBackupService(db: Db): {
    list(orgId: string): Promise<WorkspaceBackupSummary[]>;
    create(input: {
        orgId: string;
        triggerSource?: WorkspaceBackupTriggerSource;
        createdByUserId?: string | null;
        restoredFromBackupId?: string | null;
        retentionDays?: number;
    }): Promise<WorkspaceBackupSummary>;
    listFiles(orgId: string, backupId: string, directoryPath?: string): Promise<OrganizationWorkspaceFileList>;
    readFile(orgId: string, backupId: string, filePath: string): Promise<OrganizationWorkspaceFileDetail>;
    remove(orgId: string, backupId: string): Promise<WorkspaceBackupSummary>;
    pruneExpired(now?: Date): Promise<WorkspaceBackupSummary[]>;
    runScheduledBackups(input?: {
        now?: Date;
        intervalMs?: number;
        retentionDays?: number;
    }): Promise<{
        created: WorkspaceBackupSummary[];
        failed: WorkspaceBackupSummary[];
        deleted: WorkspaceBackupSummary[];
        skipped: number;
        errors: Array<{
            orgId: string;
            message: string;
        }>;
    }>;
    restore(orgId: string, backupId: string, input?: {
        createdByUserId?: string | null;
    }): Promise<WorkspaceBackupRestoreResult>;
};
//# sourceMappingURL=workspace-backups.d.ts.map