import { ListClassicReturn } from '../stores/class/general/listReturn'; import { Emission } from '../stores/class/general/emission'; /** Group of emissions */ export interface EmissionGroup { /** Name of the group */ name: string; /** Id of the group */ groupId: number; /** Simple description */ description?: string; /** The id of the organisation this group belongs to */ organisationId: string; /** The list of ids of emissions in this group */ emissionIds: Array | null; /** If set, defines this group as a "marque" group. */ acpmMarque: string | null; } interface Pagination { /** Pagination */ first: number; /** Number of elements */ size: number; } interface SearchParams { /** Filter by acpm */ acpmMarque: string; /** Filter by name */ search: string; /** Filter by organisations */ organisationIds: Array; } /** * Add an emission to a list of groups * @param emission The emission to add to the groups * @param groups The list of groups to add the emission to */ declare function addToGroups(emission: Emission | number, groups: Array | Array): Promise; /** * Create a new group */ declare function create(group: Omit): Promise; /** * Delete a group */ declare function remove(groupId: number): Promise; /** * Retrieve a group by its ID * @param groupId The ID of the group to retrieve * @return The group */ declare function get(groupId: number): Promise; /** * Retrieve all groups specified by their IDs * @param groupIds A list of group IDs. For better result, they should be unique. * @return The matching groups */ declare function getAllById(groupIds: Array): Promise>; /** * Remove an emission from a list of groups * @param emission The emission to remove from the groups * @param groups The list of groups to remove the emission from */ declare function removeFromGroups(emission: Emission | number, groups: Array | Array): Promise; /** * Update a group */ declare function update(group: Omit): Promise; /** * Count number of groups */ declare function count(parameters: Partial): Promise; /** * Search groups */ declare function search(parameters: Partial): Promise>; /** * Search for all groups, without pagination */ declare function searchNoPagination(parameters: Partial): Promise>; export declare const groupsApi: { addToGroups: typeof addToGroups; count: typeof count; create: typeof create; remove: typeof remove; get: typeof get; getAllById: typeof getAllById; removeFromGroups: typeof removeFromGroups; update: typeof update; search: typeof search; searchNoPagination: typeof searchNoPagination; }; export {};