import { Entity } from '../core/models'; import { User } from '../user/user.model'; export interface District { id: string; name: string; representative: string; } export interface Representative extends User { title: string; district?: string; email?: string; } export interface Group extends Entity { name: string; icon: string; meetings: string[]; representatives: Representative[]; districts?: District[]; } export declare type RepresentativeCreateInput = { id: string; firstName: string; lastName: string; icon: string; email: string; title: string; }; export declare type GroupCreateInput = { name: string; icon: string; districts?: { name: string; representative: string; }[]; representatives: RepresentativeCreateInput[]; adminId: string; }; export declare type GroupEditInput = { id: string; name: string; icon: string; districts?: District[]; representatives: RepresentativeCreateInput[]; }; export declare function parseDistrict(data: Partial | any): { id: any; name: any; representative: any; }; export declare function parseRepresentative(data: Partial | any): Representative; export declare function parseGroup(data: Partial | any): Group; export declare function districtsEqual(x: District, y: District): boolean; export declare function representativesEqual(x: Representative, y: Representative): boolean; export declare function groupsEqual(x: Group, y: Group): boolean; export declare function mergeGroups(prev: Group, next: Group): { name: string; icon: string; meetings: string[]; representatives: Representative[]; districts?: District[]; id: string; owner: string; editors?: string[]; };