export type PaymentType = { numberOfMonths: number; userId: string; deviceIds: string[]; amount: number; paid: boolean; }; export type TopupType = { amount: number; userId: string; paid: boolean; }; interface IpAddress { ip: string; mask: number; } interface Ipv6Address { ip: string; prefix: number; } export interface MacAddress { ruleId?: number; name: string; macAddress: string; } export interface GroupProfile { groupId: string; site?: string; name: string; buildIn?: boolean; ipList?: IpAddress[]; ipv6List?: Ipv6Address[]; macAddressList?: MacAddress[]; count: number; type: number; resource: number; } export interface OmadaResponse { errorCode: number; msg: string; result: { data: GroupProfile[]; }; } export interface TNationalPerson { nic: string; name: string; name_en: string; dob: string; gender: "M" | "F"; // Assuming gender can only be Male or Female house_name: string; house_name_en: string; island_name: string; island_name_en: string; atoll: string; atoll_en: string; constituency: string; district_en: string | null; block_no: string | null; email: string | null; primary_contact: string; image_url: string; }