import { DataAsset } from '../../../../../core/modules/data-assets';
import { AccessPolicySubjectsProps } from "../models/protection-plan-access-policy";
import { AuthMethodType } from "../models/shared-plan-authentication-method";
export interface AccessPolicyInput {
    teams: AccessPolicySubjectsProps;
    members: AccessPolicySubjectsProps;
}
export interface SharedPlanModeratorsInput {
    id: string;
}
export interface SharedPlanAuthenticationMethodInput {
    id: AuthMethodType;
}
export interface CreateSharedProtectionPlanInput {
    id?: string;
    tenantId: string;
    type: 'BACKUP' | 'BUSINESS_CONTINUITY';
    name: string;
    description?: string;
    accessPolicy: AccessPolicyInput;
    privacyMode: "PUBLIC" | "PRIVATE";
    accessType?: "DIRECT" | "MODERATED";
    moderators?: SharedPlanModeratorsInput[];
    authenticationMethods?: SharedPlanAuthenticationMethodInput[];
    threshold: number;
    assets: (DataAsset | Omit<DataAsset, 'id'> & {
        id?: string;
    })[];
    categoryIds?: string[];
}
