import { BaseFilterOptions, BaseSortableFilterOptions, PaginatedListIterator } from '../cardinal-sdk-ts.mjs'; import { Agenda } from '../model/Agenda.mjs'; import { StoredDocumentIdentifier } from '../model/StoredDocumentIdentifier.mjs'; import { AgendaInGroupApi } from './AgendaInGroupApi.mjs'; export interface AgendaApi { inGroup: AgendaInGroupApi; createAgenda(agenda: Agenda): Promise; createAgendas(agendas: Array): Promise>; /** * * Deletes an agenda. If you don't have write access to the agenda the method will fail. * @param entityId id of the agenda. * @param rev the latest known rev of the agenda to delete * @return the id and revision of the deleted agenda. * @throws RevisionConflictException if the provided revision doesn't match the latest known revision */ deleteAgendaById(entityId: string, rev: string): Promise; /** * * Deletes many agendas. Ids that don't correspond to an entity, or that correspond to an entity for which * you don't have write access will be ignored. * @param entityIds ids and revisions of the agendas to delete. * @return the id and revision of the deleted agendas. If some entities couldn't be deleted (for example * because you had no write access to them) they will not be included in this list. */ deleteAgendasByIds(entityIds: Array): Promise>; /** * * Permanently deletes a agenda. * @param id id of the agenda to purge * @param rev latest revision of the agenda * @throws RevisionConflictException if the provided revision doesn't match the latest known revision */ purgeAgendaById(id: string, rev: string): Promise; /** * * Permanently deletes a batch of agendas. * @param entityIds ids and revisions of the agendas to purge * @return the id and revision of the purged agendas. If some entities couldn't be deleted (for example * because you had no write access to them or their revision is outdated) they will not be included in this list. */ purgeAgendasByIds(entityIds: Array): Promise>; /** * * Restores an agenda that was marked as deleted. * @param id the id of the entity * @param rev the latest revision of the entity. * @return the restored entity. * @throws RevisionConflictException if the provided revision doesn't match the latest known revision */ undeleteAgendaById(id: string, rev: string): Promise; /** * * Restores a batch of agendas that were marked as deleted. * @param entityIds the ids and the revisions of the agendas to restore. * @return the restored agendas. If some entities couldn't be restored (because the user does not have access or the revision is not * outdated), then those entities will not be restored and will not appear in this list. */ undeleteAgendasByIds(entityIds: Array): Promise>; /** * * Deletes an agenda. If you don't have write access to the agenda the method will fail. * @param agenda the agenda to delete * @return the id and revision of the deleted agenda. * @throws RevisionConflictException if the provided agenda doesn't match the latest known revision */ deleteAgenda(agenda: Agenda): Promise; /** * * Deletes many agendas. Ignores agenda for which you don't have write access or that don't match the latest revision. * @param agendas the agendas to delete * @return the id and revision of the deleted agendas. If some entities couldn't be deleted they will not be * included in this list. */ deleteAgendas(agendas: Array): Promise>; /** * * Permanently deletes a agenda. * @param agenda the agenda to purge. * @throws RevisionConflictException if the provided agenda doesn't match the latest known revision */ purgeAgenda(agenda: Agenda): Promise; /** * * Permanently deletes a batch of agendas. * @param agendas the agendas to purge * @return the id and revision of the purged agendas. If some entities couldn't be deleted (for example * because you had no write access to them or their revision is outdated) they will not be included in this list. */ purgeAgendas(agendas: Array): Promise>; /** * * Restores an agenda that was marked as deleted. * @param agenda the agenda to undelete * @return the restored agenda. * @throws RevisionConflictException if the provided agenda doesn't match the latest known revision */ undeleteAgenda(agenda: Agenda): Promise; /** * * Restores a batch of agendas that were marked as deleted. * @param agendas the agendas to restore. * @return the restored agendas. If some entities couldn't be restored (because the user does not have access or the revision is not * outdated), then those entities will not be restored and will not appear in this list. */ undeleteAgendas(agendas: Array): Promise>; getAgenda(agendaId: string): Promise; getAgendas(agendaIds: Array): Promise>; modifyAgenda(agenda: Agenda): Promise; modifyAgendas(agendas: Array): Promise>; matchAgendasBy(filter: BaseFilterOptions): Promise>; matchAgendasBySorted(filter: BaseSortableFilterOptions): Promise>; filterAgendasBy(filter: BaseFilterOptions): Promise>; filterAgendasBySorted(filter: BaseSortableFilterOptions): Promise>; }