UNPKG

@arkasuryawan/gp-interfaces

Version:

Geonet Properties Data Interfaces

1,147 lines (1,122 loc) 33.6 kB
interface GooglePlacesInterface extends AuditInterface { business_status?: string; geometry: { location: { lat: number; lng: number; }; viewport: { northeast: { lat: number; lng: number; }; southwest: { lat: number; lng: number; }; }; }; icon: string; icon_background_color: string; icon_mask_base_uri: string; name: string; opening_hours?: any; photos: [ { height: 1252; html_attributions: string[]; photo_reference: string; width: 1600; } ]; place_id: string; plus_code: any; reference: string; rating?: number; scope: string; types: string[]; vicinity: string; user_ratings_total?: string[]; } interface ProjectGooglePlacesInterface extends AuditInterface { projectId: string; project: ProjectInterface; googlePlacesId: string; googlePlaces: GooglePlacesInterface; } declare type TenantAggregatorRequestType = "Requesting" | "Approved" | "Rejected"; interface TenantInterface extends AuditInterface { legalName?: string; name?: string; status?: "Active" | "Archived"; /** * @deprecated The method should not be used move to `tenantTypes` */ tenantType?: TenantType; /** * @abstract New field moving from `tenantType` */ bannerURL?: string; thumbnailURL?: string; externalId?: string; slug?: string; shortDescription?: string; description?: string; address?: AddressInterface[]; website?: string; email?: string; phone?: string; phone2?: string; legalName_lower?: string; name_lower?: string; website_lower?: string; email_lower?: string; accessToken?: string; referenceCode?: string; aggregatorIds?: string[]; aggregators?: TenantInterface[]; } interface TenantAggregatorRequestInterface extends AuditInterface { agencyId: string; agency?: TenantInterface; aggregatorId: string; aggregator?: TenantInterface; status: TenantAggregatorRequestType; } interface TenantExcludeProjectInterface extends AuditInterface { tenantId: string; projectId: string; } interface TenantProjectInterface extends AuditInterface { tenantId: string; tenant: TenantInterface; projectId: string; project: ProjectInterface; projectLotIds: string[]; projectLots: ProjectLotInterface[]; } interface OfficesInterface extends AuditInterface { legalName?: string; name?: string; status?: "Active" | "Archived"; externalId?: string; address?: AddressInterface[]; website?: string; email?: string; phone?: string; phone2?: string; } interface AgentInterface extends AuditInterface { uid?: string; fullName: string; firstName: string; lastName?: string; mobile?: string; phone?: string; image: string; email: string; dateOfBirth?: string; licenceNumber?: string; licenceExpiryDate?: string; address?: AddressInterface; OfficeId?: string; office?: OfficesInterface; jobTitle?: string; specialistAreas?: string[]; awards?: string[]; employeeType?: EmployeeType; /** * @deprecated The method should not be used move to `tenantTypes` */ tenantType?: TenantType; /** * @abstract New field moving from `tenantType` */ tenantId?: string; tenant?: TenantInterface; aggregatorIds?: string[]; aggregators?: TenantInterface[]; profile?: string; profileVideo?: string; startDate?: string; contractValedDate?: string; showOnWeb: boolean; status: "Active" | "Archived"; customToken?: string; facebookUrl?: string; instagramUrl?: string; linkedInUrl?: string; twitterUrl?: string; keyword?: string; callCalenderUrl?: string; agentLanguages?: string[]; deviceToken?: string[]; groupId?: string; group?: GroupInterface; /** * @abstract just for JWT */ groupAccess?: GroupAccessInterface[]; } interface GroupInterface extends AuditInterface { name: string; description: string; tenantType: TenantType; } interface GroupAccessInterface extends AuditInterface { groupId: string; group: GroupInterface; menu: string; view: boolean; craete: boolean; update: boolean; delete: boolean; exceptField: string[]; } interface BlogInterface extends AuditInterface { title?: string; slug?: string; shortDescription?: string; description?: string; categoryIds?: string[]; categories?: CategoryInterface[]; status?: StatusType; blogDisplay?: BlogDisplay; bannerURL?: string; thumbnailURL?: string; videoUrl?: string; author?: string; } interface AdditionalInformationContact { name: string; value: string; } interface ContactInterface extends AuditInterface { firstName: string; lastName: string; phoneNumber: string; mobileNumber?: string; email: string; source?: SourceList; address: AddressInterface; canSeeContactAgentIds?: string[]; canSeeContactAgents?: AgentInterface[]; belongsToAgentId?: string; belongsToAgent?: AgentInterface; image: string; subscribed: string[]; status: "Active" | "Archived"; } interface AppraisalInterface extends ProspectInterface { displayName: string; displayName_lower: string; description?: string; description_lower?: string; agentIds?: string[]; agents?: AgentInterface[]; bedrooms?: number; bathrooms?: number; ensuites?: number; toilets?: number; frontage?: number; rearDepth?: number; landSize?: number; livingAreas?: number; buildingSize?: number; garageSpaces?: number; carportSpaces?: number; openCarSpaces?: number; outDoorFeatures?: string[]; inDoorFeatures?: string[]; allowances?: string[]; expectedPrice?: number; rentalEstimate?: number; minPrice: number; maxPrice: number; note: string; note_lower: string; occupancyTitle: "Whole Building" | "Parcial Building"; prospectId?: string; prospect?: ProspectInterface; appraisalDate?: string; appraisalDocuments?: string[]; appraisalDocumentsWithMetaData?: MetaDataFileInterface[]; videoUrls?: string[]; onlineTourUrl?: string; documents?: string[]; documentsWithMetaData?: MetaDataFileInterface[]; images?: string[]; thumbnails?: { small: string; medium: string; large: string; }[]; imagesMetaDataFile?: MetaDataFileInterface[]; floorPlans?: string[]; floorPlansMetaDataFile?: MetaDataFileInterface[]; } declare type ListingType = "Sale" | "Lease" | "Sale & Lease"; declare type ListingStatus = "Appraisal" | "Presentation" | "Pending" | "Available" | "Conditional" | "Unconditional" | "Settled" | "Leased" | "Withdrawn" | "Archived"; declare type MarketingStatusType = "Not Listed" | "Available" | "Under Contract" | "Sold" | "Leased" | "Available Under Contract"; declare type PropertyType = "Residential" | "Rural" | "Commercial" | "Holiday" | "Business"; declare type PropertyCategory = "Apartment" | "Development" | "Factory" | "House" | "Land" | "Office" | "Semi/Duplex" | "Retail" | "Studio" | "Block Of Units" | "Terrace" | "Townhouse" | "Unit" | "Villa" | "Warehouse" | "Showroom" | "Cropping" | "Dairy" | "Farmlet" | "Horticulture" | "Lifestyle" | "Livestock" | "Viticulture" | "Mixed Farming" | "Acreage" | "Hotel/Leisure" | "Medical/Consulting" | "Other" | "BackpackerHostel" | "BedAndBreakfast" | "Campground" | "CaravanHolidayPark" | "ExecutiveRental" | "FarmStay" | "Flat" | "HouseBoat" | "Lodge" | "Motel" | "Resort" | "Retreat" | "SelfContainedCottage" | "ServicedApartment" | "Car Space" | "Accommodation/Tourism" | "Automotive" | "Beauty/Health" | "Food/Hospitality" | "Import/Export/Whole" | "Services" | "Education/Training" | "Franchise" | "Home/Garden" | "Industrial/Manufacturing" | "Leisure/Entertainment" | "Professional" | "Rural" | "Transport/Distribution"; declare type OrederBy = "soldPrice" | "searchPrice" | "address" | "lastModified" | "firstCreated" | "listedDate" | "nextInspectionDate" | "onMarketDate" | "auctionDate" | "soldDate" | "appraisalDate" | "presentationDate" | "status" | "marketingStatus" | "leasedDate"; declare type AuthorityType = "Exclusive" | "Multi List" | "Conjunctional" | "Open" | "Sale by Negotiation"; interface ListingParam { id?: string; page: number; limit: number; orderBy?: string; include?: string; order?: "ASC" | "DESC"; filter?: ListingInterface; select?: string; } interface ListingInterface extends AppraisalInterface { fullAddressDisplay: boolean; addressDisplay?: string; marketingStatus: MarketingStatusType; authority: AuthorityType; listingDate?: string; listingExpiryDate?: string; priceDisplay?: string; price: number; } interface PropectSearchParams { id?: string; page: number; limit: number; orderBy?: string; include?: string; order?: "ASC" | "DESC"; filter: ProspectInterface; select?: string; } interface ProspectInterface extends AuditInterface, AddressInterface { propertyType: PropertyType; propertyCategory: PropertyCategory; listingType: ListingType; interestLevel: "HOT" | "WARM" | "COLD"; status: "Active" | "Archived"; canSeeContactAgentIds?: string[]; canSeeContactAgents?: AgentInterface[]; belongsToAgentId?: string; belongsToAgent?: AgentInterface; officeId?: string; office?: OfficesInterface; ownerIds?: string[]; owners?: ContactInterface[]; tenantIds?: string[]; tenants?: ContactInterface[]; listingId?: string; listing?: ListingInterface; appraisalId?: string; appraisal?: AppraisalInterface; } interface PipelineInterface extends AuditInterface { _id?: string; name: string; note?: string; name_lower?: string; note_lower?: string; status?: "Active" | "Archived"; pipelineFlowIds?: string[]; pipelineFlows?: PipelineFlowInterface[]; officeId?: string; office?: OfficesInterface; } interface PipelineFlowInterface extends AuditInterface { _id?: string; pipeLineId: string; pipeline?: PipelineInterface; name: string; name_lower?: string; status?: "Active" | "Archived"; leadsIds?: string[]; leads?: LeadsInterface[]; order?: number; } interface LeadsInterface extends AuditInterface { _id?: string; contactId?: string; contact?: ContactInterface; pipelineId?: string; pipelineFlowId?: string; pipelineFlow?: PipelineFlowInterface; pipeLineSource?: string; agentIds?: string[]; agents?: AgentInterface[]; note?: string; note_lower?: string; prospectIds?: string[]; prospects?: ProspectInterface[]; listingsIds?: string[]; listings?: ListingInterface[]; appraisalIds?: string[]; appraisals?: AppraisalInterface[]; status?: "Active" | "Archived"; } interface TAAddress { street1: string; street2: string; city: string; state: string; country: string; postalcode: string; address_string: string; phone: string; latitude: number; longitude: number; } interface TARankingData { geo_location_id: number; ranking_string: string; geo_location_name: string; ranking_out_of: number; } interface TAAncestor { abbrv: string; level: string; name: string; location_id: number; latitude: number; longitude: number; timezone: string; email: string; phone: string; website: string; write_review: string; ranking_data: TARankingData; ranking: number; } interface TAAward { award_type: string; year: number; images: { tiny: string; small: string; large: string; }; categories: string[]; display_name: string; } interface TALocalize { name: string; localized_name: string; rating_image_url?: string; value?: string; } interface TALocation extends AuditInterface { location_id: number; name: string; description?: string; web_url?: string; address_obj: TAAddress; ancestors?: TAAncestor[]; rating_image_url?: string; num_reviews?: string; review_rating_count?: { [code: string]: string; }; subratings?: { [code: string]: TALocalize; }; photo_count?: number; see_all_photos?: string; price_level?: string; hours?: { periods: { open: { day: number; time: string; }; close: { day: number; time: string; }; }[]; weekday_text: string[]; subcategory: TALocalize; }; amenities?: string[]; features?: string[]; cuisine?: TALocalize[]; parent_brand?: string; brand?: string; category?: TALocalize; subcategory?: TALocalize[]; groups?: TALocalize[]; styles?: string[]; neighborhood_info?: TALocation[]; trip_types?: TALocalize[]; awards?: TAAward[]; distance?: string; rating?: string; bearing?: string; } declare type ProjectStatus = "DRAFT" | "AVAILABLE" | "NOTAVAILABLE" | "DELETED" | "LEASED" | "BOOKED" | "SOLD" | "HOLD" | "CONTRACT" | "PARTIAL"; declare const ProjectStatusOptions: string[]; declare type ProjectType = "Apartment" | "House & Land" | "Land" | "Office" | "Semi/Duplex" | "Block Of Units" | "Townhouse" | "Unit" | "Villa" | "Warehouse" | "Hotel/Leisure" | "Other" | "Motel" | "Resort" | "Retreat" | "Rural"; declare type CurrencyId = "EUR" | "SGD" | "GBP" | "AUD" | "USD" | "IDR" | "THB"; declare const CurrencyIdOptions: string[]; declare type ProjectStatusType = "Off The Plan" | "Completed" | "Under Construction"; declare const ProjectStatusTypeOptions: string[]; interface AdditionalInformation { icon: string; headline: string; content: string; } interface AdditionalOption { icon: string; headline: string; content: string; priceType: string; price: number; } interface RentalRevenueEstimateInterface { headline: string; price: number; occupancy: number; rate: number; percentageCost: number; investmentTime: number; } interface ProjectSummaryInterface { unitAvailable: number; sold: number; minPrice: number; bed: { min: number; max: number; }; bath: { min: number; max: number; }; garage: { min: number; max: number; }; area: { min: number; max: number; }; } interface ProjectMainInformation extends AuditInterface { /** * */ status: ProjectStatus | string[]; headLine: string; shortDescription: string; content: string; featured: boolean; hideOnWebsite: boolean; address: string; addressCordinat: Cordinat | Cordinat[]; suburbId: string; suburb: SuburbInterface | string; suburbName: string; stateId: string; state: StateInterface | string; stateName: string; countryId: string; country: CountryInterface | string; countryName: string; region: RegionInterface | string; regionId: string; regionName: string; postcode: string; additionalInformation?: AdditionalInformation[]; taxIncluded?: boolean; tax?: number; tenantIds?: string[]; tenants?: TenantInterface[]; aggregatorIds?: string[]; aggregators?: TenantInterface[]; developerId?: string; developerDetail?: TenantInterface; developer?: TenantInterface; /** * @deprecated The method should not be used move to `projectTypeIds` */ projectTypeId: string; /** * @deprecated The method should not be used move to `projectTypes` */ projectType: ProjectTypeInterface; /** * @abstract New field moving from `projectTypeId` */ projectTypeIds?: string[]; /** * @abstract New field moving from `projectTypes` */ projectTypes?: ProjectTypeInterface[]; autdoorFeature: string[]; indoorFeatures: string[]; } interface ProjectImageFileAndOtherInfo extends ProjectMainInformation { videoUrl: string[]; onlineTourUrl: string[]; images: string[]; interior: string[]; exterior: string[]; floorPlans: string[] | MetaDataFileInterface[]; brochure: string[] | MetaDataFileInterface[]; collateral: string[] | MetaDataFileInterface[]; specifications: string[] | MetaDataFileInterface[]; areaGuide: string; presentation: string; news: string[]; podcast: string[]; webinar: string; threesixty: string; } interface ProjectLotMainInformation extends ProjectImageFileAndOtherInfo { projectId: string; project: ProjectInterface; scheme: string; aspect: string; guarantee: string; level?: string; lot?: string; bed?: number; bath?: number; garage: number; internal: number; external: number; total: number; living: number; /** * @deprecated The method should not be used */ type: string; price: number; /** * @abstract new field moving from developer */ builder: string; } interface ProjectInterface extends ProjectImageFileAndOtherInfo { /** * @deprecated The method should not be used */ type: ProjectType; /** * @abstract Image URl */ sellingPoint: string; url: string; landingUrl: string; currency: CurrencyId; preSaleType: "Percentage" | "Fix Price"; preSalePercentage?: number; preSalePrice?: number; percentageDeposit: number; /** * @deprecated The method should not be used */ aboutProject: string; /** * @deprecated The method should not be used */ step1?: string; /** * @deprecated The method should not be used */ step2?: string; /** * @deprecated The method should not be used */ step3?: string; /** * @deprecated The method should not be used */ step4?: string; /** * @deprecated The method should not be used */ blogIds?: string[]; /** * @deprecated The method should not be used */ blogs?: BlogInterface[]; projectStatus?: ProjectStatusType; totalUnit?: number; startDate?: string; completionDate?: string; /** * @deprecated The method should not be used move to `projectlot` */ variationTitle: string; /** * @deprecated The method should not be used will be move to `projectvariance` */ variationPricing: "ADD" | "REPLACE" | "MULTIPLE" | "DEVIDE"; rentalRevenueEstimate?: RentalRevenueEstimateInterface[]; /** * @abstract when `true` if sold ? no information on front end */ hidePriceOnSold?: boolean; summary?: ProjectSummaryInterface; /** * @abstract New field for summary by `proejctid` */ summaryByProjectTypeIds?: { [projectTypeId: string]: ProjectSummaryInterface; }; /** * @abstract Interfce only not for data to model * */ searchPrice?: number; searchPriceMin?: number; searchPriceMax?: number; /** * @abstract New field for summary by proejctid */ projectImageFileAndOtherInfoByTenants: { [tenantId: string]: ProjectImageFileAndOtherInfo; }; } interface LotVariancesInterface { projectLotVarianceId: string; projectLotVariance: ProjectLotVarianceInterface; status: ProjectStatus; price: number; landPrice: number; housePrice: number; salesPackNumber: string; availabilityStock: number; additionalInformation?: AdditionalInformation[]; additionalConst?: number; projectTypeId: string; projectType?: ProjectTypeInterface; variationPricing?: "ADD" | "REPLACE" | "MULTIPLE" | "DEVIDE"; } interface ProjectLotInterface extends ProjectLotMainInformation { /** *@abstract moving from `Projects` */ variationTitle: string; /** * @deprecated The method should not be used move to `variances` */ projectLotVarianceIds?: string[]; /** * @deprecated The method should not be used move to `variances` */ projectLotVariances?: ProjectLotVarianceInterface[]; variances?: LotVariancesInterface[]; city: string; estate: string; landPrice: number; housePrice: number; salesPackNumber: string; landRegistration: string; stockType: "NORMAL" | "PARTIAL" | "FRACTIONAL"; /** * Default availability stock is 1 * when sold on variance availability stock 0-1 (100%) */ availabilityStock: number; projectImageFileAndOtherInfoByTenants: { [tenantId: string]: ProjectImageFileAndOtherInfo; }; } interface ProjectLotVarianceInterface extends ProjectLotMainInformation { variationPricing: "ADD" | "REPLACE" | "MULTIPLE" | "DEVIDE"; projectImageFileAndOtherInfoByTenants: { [tenantId: string]: ProjectImageFileAndOtherInfo; }; additionalOptions: AdditionalOption[]; projectTypeId: string; projectType: ProjectTypeInterface; } interface ProjectRequestInterface extends AuditInterface { projectId: string; project?: ProjectInterface; agencyId: string; agency?: TenantInterface; developerId: string; developer?: TenantInterface; aggregatorId: string; aggregator?: TenantInterface; } /** * @deprecated The method should not be used */ interface ProjectTripadvisorInterface extends AuditInterface { projectId: string; project: ProjectInterface; tripadvisorId: string; tripadvisor: TALocation; distance?: string; bearing?: string; } interface UserInterface extends AuditInterface { uid: string; name?: string; fullname?: string; displayName?: string; firstName?: string; lastName?: string; email?: string; email_verified?: boolean; emailVerified?: boolean; phoneNumber?: string; isAnonymous?: boolean; photoURL?: string; address?: AddressInterface; status: StatusType; validThrough?: string; slug?: string; birthDay?: string; nationality?: string; socialMedia?: { [code: string]: string; }; wishlist?: string[]; } interface UserWishlistInterface extends AuditInterface { uid: string; userId: string; user: UserInterface; projectId: string; Project: ProjectInterface; } interface TestimonialInterface extends AuditInterface { imageUrl: string; headline: string; description: string; user: UserInterface; } interface TokenData { token: string; expiresIn: number; } interface DataStoredInToken { _id: string; } declare type NotificationType = "NEW" | "READED"; interface NotificationInterface extends AuditInterface { headline?: string; description?: string; link?: string; userIdReaded?: string[]; status?: string; type?: string; to?: { type: "USER" | "TENANT"; id: string; }[]; } interface MenuType { name: any; url: string; subItems?: MenuType[]; class?: string; col?: number; } interface WhiteLabelInterface extends AuditInterface { logo: string; cssRoot: string; menu: MenuType[]; footer: string; type: "MULTI PROJECTS" | "SINGLE PROJECT"; accessToken: string; domainName: string; proejctUrl?: string; favicon?: string; metaTitle?: string; metaDescription?: string; keyword?: string; bannerUrl?: string; metaImage?: string; } declare enum TransactionType { "EOI" = 0, "HOLD" = 1, "CONTRACT" = 2, "DEPOSIT" = 3, "DEPOSIT RETURNED" = 4, "SOLD" = 5 } interface TransactionInterface extends AuditInterface { id: string; projectId: string; project: ProjectInterface; lotId: string; lot: ProjectLotInterface; lotVarianceId?: string; lotVariance?: ProjectLotVarianceInterface; lastStatus: TransactionType; whiteLabelId?: string; whiteLabel?: WhiteLabelInterface; description?: string; clientId: string; client: ContactInterface; price: number; deposit: number; currency: CurrencyId; } interface TransactionDetailInterface extends AuditInterface { id: string; transactionID: string; transaction: TransactionInterface; type: TransactionType; description?: string; exporeDate?: string; } declare type PermissionTypeEnum = "EVERYONE" | "SELECT" | "EXCLUSIVE"; declare type SourceList = "Website" | "Facebook" | "Instagram" | "Phone-in" | "Newspaper" | "Wolk-in" | "Door Knoking" | "Other"; declare type EmployeeType = "Administrator" | "Director" | "Personal Sisten" | "Office Admin" | "Agent Repesentative" | "Property Management" | "Sales Repesentative" | "Inactive"; declare const EmployeeTypeData: string[]; declare type TenantType = "Developer" | "Agency" | "Geonet" | "Aggregator" | "M2"; declare type BlogDisplay = "APPS" | "WEBSITE" | "BOTH"; declare type StatusType = "Active" | "Archived"; declare type EditorState = "ADD" | "DELETE" | "UPDATE" | "VIEW"; interface Cordinat { lat: number; lng: number; } interface CategoryInterface extends AuditInterface { name?: string; shortDescription?: string; description?: string; slug?: string; parentCategoryId?: string; parentCategory?: CategoryInterface; bannerURL?: string; thumbnailURL?: string; status?: StatusType; } declare const PipeLineFlowData: string[]; declare const SourceListData: string[]; interface GroupRole { code: EmployeeType; role: string; allow: boolean; } declare type agentLanguage = "English" | "Bahasa" | "French" | "Mandarin"; declare const agentLanguageOption: string[]; declare const PropertyTypeData: string[]; declare const ProductCategoryData: string[]; declare const SubscribedOptions: string[]; interface MetaDataFileInterface { name: string; url: string; fileType: string; } interface AuditInterface { _id?: string; _ids?: string; featured?: boolean; hideOnWebsite?: boolean; extraFilter?: any; keyword?: string; order?: number; createdAt: string; createdBy: string; updateddAt?: string; updatedBy?: string; ArchivedAt?: string; ArchivedBy?: string; } interface SearchParamInterface<DATA> { id?: string; page?: number; limit?: number; orderBy?: string; include?: string; order?: "ASC" | "DESC"; sort?: any; filter?: DATA; select?: string; total?: number; } interface singgleResponse<DATA> { data?: DATA; haveError: boolean; errorCode?: string; errorMessage?: string; code?: string; message?: string; } interface ListResponse<DATA> { total: number; page: number; limit: number; data: DATA[]; haveError: boolean; } interface AddressInterface { _id?: string; streetAddress: string; suburb: string; state: string; postcode: string; country: string; location: locationType; } interface locationType { _id?: string; lat: number; long: number; } interface ImageThumbnail { height: number; size: string; url: string; width: number; } interface ImageInterface { id: number; lastModified: string; order: number; thumbnails: ImageThumbnail[]; title: string; url: string; } interface ProjectTypeInterface extends AuditInterface { name: string; bannerURL?: string; iconURL?: string; thumbnailURL?: string; slug?: string; shortDescription?: string; description?: string; promotionBanner: { general: string; country: { [slug: string]: string; }; state: { [slug: string]: string; }; suburb: { [slug: string]: string; }; }; } interface AddressDetail extends AuditInterface { name: string; displayName: string; bannerURL?: string; thumbnailURL?: string; iconUrl?: string; slug?: string; shortDescription?: string; description?: string; tenantIds?: string[]; tenants?: TenantInterface[]; } interface CountryInterface extends AddressDetail { } interface StateInterface extends CountryInterface { countryId: string; country: CountryInterface; } interface RegionInterface extends StateInterface { stateId: string; state: StateInterface; } interface SuburbInterface extends RegionInterface { regionId: string; region: RegionInterface; } interface SuburbDataReport extends AuditInterface { headline: string; type: string; label: string; value: string; valueType: "percent" | "money"; suburbId: string; suburb: SuburbInterface; } interface SuburbDemographic extends AuditInterface { label: string; icon: string; value: string; suburbId: string; suburb: SuburbInterface; } interface SuburbStatistic extends AuditInterface { category: string; label: string; value: number; suburbId: string; suburb: SuburbInterface; } interface CurrencyDataInterface { _id?: string; code: string; value: number; } interface AuthInterface { uid: string; token: string; sessionTime: string; } declare const MakeId: (length: number) => string; interface FormatMoneyInterface { num: number; currencyCode?: string; format?: "en-US"; minimumFractionDigits?: number; } declare const formatMoney: (data: FormatMoneyInterface) => string; declare const CerateSlug: (str: string) => string; /** * Generates a random UUID * @param a - The parameter a is a number that is used to generate the UUID. If you don't pass a * parameter, the function will generate a random number. */ /** * Return a new array with the elements of the original array in a random order. * @param arr - The array to shuffle. */ declare const shuffleArray: (arr: any[]) => any[]; /** * It takes an array, converts it to a Set, and then converts it back to an array * @param arr - The array to be filtered. */ declare const getUniqueArray: (arr: any[]) => any[]; /** * If the current element is an array, flatten it, otherwise, add it to the accumulator. */ /** * Generate a random hex colour code. */ declare const generateRandomHexColor: () => string; /** * It takes three numbers, one for red, one for green, and one for blue, and returns a hexadecimal * string representing the color * @param r - red value * @param g - The green value of the color. * @param b - blue */ declare const rgbToHex: (r: number, g: number, b: number) => string; /** * It converts a hexadecimal color code to an RGB color code. * @param hex - The hexadecimal color code. */ declare const hexToRgb: (hex: any) => any; /** * Given an array of numbers, return the average of those numbers. */ declare const average: (arr: any[]) => number; /** * It converts a string to camel case. */ declare const toCamelCase: (str: string) => string; /** * Replace all words in a string with the first letter capitalized and the rest of the letters * lowercase. */ declare const toTitleCase: (str: string) => string; /** * Replace all whitespace characters with underscores and convert the string to lowercase. */ declare const toSnakeCase: (str: string) => string; export { AdditionalInformation, AdditionalInformationContact, AdditionalOption, AddressDetail, AddressInterface, AgentInterface, AppraisalInterface, AuditInterface, AuthInterface, AuthorityType, BlogDisplay, BlogInterface, CategoryInterface, CerateSlug, ContactInterface, Cordinat, CountryInterface, CurrencyDataInterface, CurrencyId, CurrencyIdOptions, DataStoredInToken, EditorState, EmployeeType, EmployeeTypeData, GooglePlacesInterface, GroupAccessInterface, GroupInterface, GroupRole, ImageInterface, ImageThumbnail, LeadsInterface, ListResponse, ListingInterface, ListingParam, ListingStatus, ListingType, LotVariancesInterface, MakeId, MarketingStatusType, MenuType, MetaDataFileInterface, NotificationInterface, NotificationType, OfficesInterface, OrederBy, PermissionTypeEnum, PipeLineFlowData, PipelineFlowInterface, PipelineInterface, ProductCategoryData, ProjectGooglePlacesInterface, ProjectImageFileAndOtherInfo, ProjectInterface, ProjectLotInterface, ProjectLotMainInformation, ProjectLotVarianceInterface, ProjectMainInformation, ProjectRequestInterface, ProjectStatus, ProjectStatusOptions, ProjectStatusType, ProjectStatusTypeOptions, ProjectSummaryInterface, ProjectTripadvisorInterface, ProjectType, ProjectTypeInterface, PropectSearchParams, PropertyCategory, PropertyType, PropertyTypeData, ProspectInterface, RegionInterface, RentalRevenueEstimateInterface, SearchParamInterface, SourceList, SourceListData, StateInterface, StatusType, SubscribedOptions, SuburbDataReport, SuburbDemographic, SuburbInterface, SuburbStatistic, TAAddress, TAAncestor, TAAward, TALocalize, TALocation, TARankingData, TenantAggregatorRequestInterface, TenantAggregatorRequestType, TenantExcludeProjectInterface, TenantInterface, TenantProjectInterface, TenantType, TestimonialInterface, TokenData, TransactionDetailInterface, TransactionInterface, TransactionType, UserInterface, UserWishlistInterface, WhiteLabelInterface, agentLanguage, agentLanguageOption, average, formatMoney, generateRandomHexColor, getUniqueArray, hexToRgb, locationType, rgbToHex, shuffleArray, singgleResponse, toCamelCase, toSnakeCase, toTitleCase };