import { BenefitItemDto } from '../../../apis/benefits-api/benefits-api.dto';
import { Benefit, CustomBenefitsListEntry, ManagedBenefitsPageState } from '../store/manage-benefits.store';
declare type AccountBenefitVisibilityDto = {
  order: number;
  isEnabled: boolean;
};
declare type MetadataDto = {
  updatedAt: string;
};
export declare class AccountBenefitWithIdDto {
  benefitId: string;
  benefit: BenefitItemDto;
  visibility: AccountBenefitVisibilityDto;
  metadata: MetadataDto;
  static toCustomBenefitsListEntry(dto: AccountBenefitWithIdDto): CustomBenefitsListEntry;
  static toBenefit(dto: AccountBenefitWithIdDto): Benefit;
}
export declare class ManageBenefitsPageStateDto {
  activeAccountBenefits: AccountBenefitWithIdDto[];
  inactiveAccountBenefits: AccountBenefitWithIdDto[];
  static toDomain(dto: ManageBenefitsPageStateDto): ManagedBenefitsPageState;
}
export declare type CreateAccountBenefitCommandDto = {
  createAccountBenefit: BenefitItemDto;
};
export declare type UpdateAccountBenefitCommandDto = {
  updateAccountBenefit: BenefitItemDto;
};
export declare type UpdateAccountBenefitVisibilityCommandDto = {
  updateAccountBenefitVisibility: AccountBenefitVisibilityDto;
};
export declare type EnableAccountBenefitDto = 'enableAccountBenefit';
export declare type DisableAccountBenefitDto = 'disableAccountBenefit';
export declare type DeleteAccountBenefitDto = 'deleteAccountBenefit';
export declare type ManageBenefitCommandDto = CreateAccountBenefitCommandDto | UpdateAccountBenefitCommandDto | UpdateAccountBenefitVisibilityCommandDto | EnableAccountBenefitDto | DisableAccountBenefitDto | DeleteAccountBenefitDto;
export declare type ManageBenefitCommandRequestDto = {
  command: ManageBenefitCommandDto;
};
export {};
