import { ValidationOptions } from "class-validator"; import { Country } from "../common/enums"; export declare function IsBase64Size(validationOptions?: ValidationOptions): (object: Object, propertyName: string) => void; export declare function IsBase64ImageMimeType(validationOptions?: ValidationOptions): (object: Object, propertyName: string) => void; /** * Response DTO for retrieving a list of organizations. * Contains metadata about the response, including pagination details. */ export declare class GetOrganizationsResponse { message: string; data: unknown; nextPageLink: string; totalNumberOfRecords?: number; } /** * DTO representing the structure of a organization. */ export declare class Organization { organizationId: string; organizationName: string; organizationStatus: string; ownership: string; ownershipCode: string; systemOfMedicineCode: string; systemOfMedicine: string; organizationTypeCode: string; organizationType: string; stateName: string; stateLGDCode: string; districtName: string; districtLGDCode: string; subDistrictName: string; subDistrictLGDCode: string; villageCityTownName: string; villageCityTownLGDCode: string; address: string; pincode: string; latitude: string; longitude: string; } /** * Response DTO for searching organizations. * Returns a list of matching organizations along with metadata about the search results. */ export declare class SearchOrganizationResponse { organizations: Organization[]; message: string; totalOrganizations: number; numberOfPages: number; } /** * Represents the full response from the Google Geocoding API for a location search. */ export declare class LocationResponseDTO { results: LocationResultDTO[]; status: string; } /** * Represents a single result in the list of location results. */ export declare class LocationResultDTO { geometry: GeometryDTO; } /** * Contains the geographical data for a specific location result. */ export declare class GeometryDTO { location: LocationDTO; } /** * Represents the geographic coordinates (latitude and longitude). */ export declare class LocationDTO { lat: number; lng: number; } /** * DTO for capturing basic organization information. * * Fields: * - `organizationName`: string – mandatory * - `region`: string – mandatory * - `addressLine1`: string – mandatory * - `addressLine2`: string – mandatory * - `district`: string – mandatory * - `subDistrict`: string – mandatory * - `city`: string – mandatory * - `state`: string – mandatory * - `Country`: enum (Country) – mandatory * - `pincode`: string – mandatory * - `latLongs`: string[] – mandatory */ export declare class BasicInformation { facilityName: string; region: string; addressLine1: string; addressLine2: string; district: string; subDistrict: string; city: string; state: string; Country: Country; pincode: string; latLongs: string[]; } /** * DTO for capturing contact information of a organization. * * Fields: * - `mobileNumber`: string – mandatory * - `email`: string – mandatory * - `landline`: string – mandatory * - `stdcode`: string – mandatory * - `websiteLink`: string – mandatory */ export declare class ContactInformation { mobileNumber: string; email: string; landline: string; stdcode: string; websiteLink: string; } /** * DTO for image data. * * Fields: * - `value`: base64 string – mandatory * - `name`: string – mandatory */ declare class ImageData { value: string; name: string; } /** * DTO for uploading organization photos. * * Fields: * - `boardPhoto`: ImageData – mandatory * - `buildingPhoto`: ImageData – mandatory */ declare class UploadDocuments { /** * Board photo of the organization. * Expected format: JPG, PNG. * File size must be less than 1MB. */ boardPhoto: ImageData; buildingPhoto: ImageData; } /** * DTO for uploading address proof documents. * * Fields: * - `addressProofType`: string – mandatory * - `addressProofAttachment`: { value: string; name: string } – mandatory */ export declare class AddAddressProof { addressProofType: string; addressProofAttachment: { value: string; name: string; }; } /** * DTO for specifying organization timings and shift schedule. * * Fields: * - `timings`: string – mandatory * - `shifts`: { start: Date | null; end: Date | null }[] – mandatory */ export declare class OrganizationTimings { timings: string; shifts: { start: Date | null; end: Date | null; }[]; } /** * DTO for organization ownership and status details. * * Fields: * - `ownershipType`: string – mandatory * - `ownershipSubType`: string – mandatory * - `status`: string – mandatory */ export declare class OrganizationDetails { ownershipType: string; ownershipSubType: string; status: string; } /** * DTO for speciality under a system of medicine. * * Fields: * - `systemofMedicineCode`: string – mandatory * - `specialities`: string[] – mandatory */ export declare class Speciality { systemofMedicineCode: string; specialities: string[]; } /** * DTO for system of medicine information. * * Fields: * - `specialities`: Speciality[] – mandatory * - `organizationType`: string – mandatory * - `organizationSubType`: string – mandatory * - `serviceType`: string – mandatory */ export declare class SystemOfMedicine { specialities: Speciality[]; facilityType: string; facilitySubType: string; serviceType: string; } /** * DTO for imaging center services. * * Fields: * - `service`: string – mandatory * - `count`: number – mandatory */ export declare class ImagingCenterServiceType { service: string; count: number; } /** * DTO for organization infrastructure and services. * * Fields: * - `totalNumberOfVentilators`: number – mandatory * - `totalNumberOfBeds`: number – mandatory * - `hasDialysisCenter`: string – mandatory * - `hasPharmacy`: string – mandatory * - `hasBloodBank`: string – mandatory * - `hasCathLab`: string – mandatory * - `hasDiagnosticLab`: string – mandatory * - `hasImagingCenter`: string – mandatory * - `servicesByImagingCenter`: ImagingCenterServiceType[] – mandatory * - `nhrrid`: string – mandatory * - `nin`: string – mandatory * - `abpmjayid`: string – mandatory * - `rohiniId`: string – mandatory * - `echsId`: string – mandatory * - `cghsId`: string – mandatory * - `ceaRegistration`: string – mandatory * - `stateInsuranceSchemeId`: string – mandatory */ export declare class OrganizationInventory { totalNumberOfVentilators: number; totalNumberOfBeds: number; hasDialysisCenter: string; hasPharmacy: string; hasBloodBank: string; hasCathLab: string; hasDiagnosticLab: string; hasImagingCenter: string; servicesByImagingCenter: ImagingCenterServiceType[]; nhrrid: string; nin: string; abpmjayid: string; rohiniId: string; echsId: string; cghsId: string; ceaRegistration: string; stateInsuranceSchemeId: string; } /** * DTO for creating a new organization. * * Fields: * - `basicInformation`: object – mandatory * - `contactInformation`: object – mandatory * - `uploadDocuments`: object – mandatory * - `addAddressProof`: array – mandatory * - `organizationTimings`: array – mandatory * - `organizationDetails`: object – mandatory * - `systemOfMedicine`: object – mandatory * - `organizationInventory`: object – mandatory * - `accountId`: string – mandatory * - `organizationId`: string – optional * - `id`: string – optional */ export declare class AddOrganizationDTO { basicInformation: BasicInformation; contactInformation: ContactInformation; uploadDocuments: UploadDocuments; addAddressProof: AddAddressProof[]; facilityTimings: OrganizationTimings[]; facilityDetails: OrganizationDetails; systemOfMedicine: SystemOfMedicine; facilityInventory: OrganizationInventory; accountId: string; facilityId?: string; id?: string; } /** * DTO for updating organization details. * * Fields: * - `spocName`: string – mandatory * - `id`: string – mandatory * - `spocId`: string – mandatory * - `consentManagerName`: string – optional * - `consentManagerId`: string – optional */ export declare class UpdateOrganizationDTO { spocName: string; id: string; spocId: string; consentManagerName?: string; consentManagerId?: string; } /** * DTO for searching organizations. * * Fields: * - `ownershipCode`: string – optional * - `stateLGDCode`: string – optional * - `districtLGDCode`: string – optional * - `subDistrictLGDCode`: string – optional * - `pincode`: string – optional * - `organizationName`: string – optional * - `organizationId`: string – optional * - `page`: number – mandatory * - `resultsPerPage`: number – mandatory */ export declare class SearchOrganizationDTO { ownershipCode?: string; stateLGDCode?: string; districtLGDCode?: string; subDistrictLGDCode?: string; pincode?: string; facilityName?: string; facilityId?: string; page: number; resultsPerPage: number; } /** * DTO for requesting organization types based on ownership. * * Fields: * - `ownershipCode`: string – required * - `systemOfMedicineCode`: string – optional */ export declare class OrganizationTypeRequest { ownershipCode: string; systemOfMedicineCode?: string; } /** * DTO for requesting organization sub-types based on a organization type. * * Fields: * - `organizationTypeCode`: string – required */ export declare class OrganizationSubTypeRequest { facilityTypeCode: string; } /** * DTO for requesting ownership sub-types based on ownership code. * * Fields: * - `ownershipCode`: string – required * - `ownershipSubtypeCode`: string – optional */ export declare class OwnershipSubTypeRequest { ownershipCode: string; ownershipSubtypeCode?: string; } /** * DTO for requesting specialities based on a system of medicine. * * Fields: * - `systemOfMedicineCode`: string – required */ export declare class SpecialitiesRequest { systemOfMedicineCode: string; } export {};