islamic-content-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,137 @@
1
+ # Islamic Content SDK
2
+
3
+ [![npm version](https://img.shields.io/npm/v/islamic-content-sdk.svg)](https://www.npmjs.com/package/islamic-content-sdk)
4
+ [![npm downloads](https://img.shields.io/npm/dm/islamic-content-sdk.svg)](https://www.npmjs.com/package/islamic-content-sdk)
5
+ [![bundle size](https://img.shields.io/bundlephobia/minzip/islamic-content-sdk)](https://bundlephobia.com/package/islamic-content-sdk)
6
+
7
+ An integrated and easy-to-use software library for developers to fetch authentic Islamic content (The Holy Qur'an and Hadith) in multiple languages directly from their official sources.
8
+
9
+ ## Installation
10
+
11
+ Install the package via your package manager:
12
+
13
+ ```bash
14
+ npm install islamic-content-sdk
15
+ ```
16
+
17
+ ## Usage
18
+
19
+ ### Initializing the SDK
20
+
21
+ ```typescript
22
+ import { IslamicContentSdk } from "islamic-content-sdk";
23
+
24
+ const sdk = new IslamicContentSdk();
25
+ ```
26
+
27
+ ### Quran Source (QuranEnc API)
28
+
29
+ ```typescript
30
+ // 1. Get available translations
31
+ const translations = await sdk.quranenc.translationList({
32
+ language: "es",
33
+ localization: "ar",
34
+ });
35
+
36
+ // 2. Translate an entire sura (Al-Fatiha in Spanish)
37
+ const sura = await sdk.quranenc.translationSura("spanish_montada_eu", 1);
38
+
39
+ // 3. Get the audio MP3 file details for a specific verse
40
+ const audio = await sdk.quranenc.ayaAudio("chinese_suliman", 1, 1);
41
+ ```
42
+
43
+ ### Hadith Source (HadeethEnc API)
44
+
45
+ ```typescript
46
+ // 1. Get available languages in the encyclopedia
47
+ const languages = await sdk.hadeethenc.languages();
48
+
49
+ // 2. Get main categories of Hadith in English
50
+ const categories = await sdk.hadeethenc.rootCategories("en");
51
+
52
+ // 3. Get details of a specific Hadith by ID
53
+ const hadith = await sdk.hadeethenc.hadithDetails({ id: 2962, language: "ar" });
54
+ ```
55
+
56
+ ### IslamHouse Source (IslamHouse v3 API)
57
+
58
+ ```typescript
59
+ // 1. Core material categories (videos, books, etc.)
60
+ const content = await sdk.islamhouse.categoriesAndTypes.allTypes("ar", "ar");
61
+
62
+ // 2. Complete categories tree for materials
63
+ const tree = await sdk.islamhouse.categoriesAndTypes.categoriesTree("ar");
64
+
65
+ // 3. List of sources and authors
66
+ const authors = await sdk.islamhouse.authors.list({ page: 1, perPage: 10 });
67
+
68
+ // 4. View all categories
69
+ const categories = await sdk.islamhouse.categoriesAndTypes.allCategories("ar");
70
+
71
+ // 5. User interface localization terms for different languages
72
+ const terms = await sdk.islamhouse.languages.terms("ar");
73
+
74
+ // 6. Details of a specific Quran recitation by ID
75
+ const recitation = await sdk.islamhouse.quran.recitationDetails(228065, "ar");
76
+ ```
77
+
78
+ ### Risalat Al-Haramain Source (Risalat Al-Haramain API)
79
+
80
+ ```typescript
81
+ // 1. Get available languages
82
+ const risalaLangs = await sdk.risalatAlHaramain.lookups.languages();
83
+
84
+ // 2. Get full content of the platform in a specific language
85
+ const fullContents = await sdk.risalatAlHaramain.contents.getFullContents({
86
+ lang: "en",
87
+ });
88
+
89
+ // 3. Get featured Holy Quran content
90
+ const quranContent = await sdk.risalatAlHaramain.islamicContent.quran({
91
+ lang: "ar",
92
+ });
93
+
94
+ // 4. Text search in content
95
+ const searchResult = await sdk.risalatAlHaramain.search.contents("حصن");
96
+ ```
97
+
98
+ ### Bayan Al Islam Source (Bayan Al Islam API)
99
+
100
+ ```typescript
101
+ // 1. Get list of available languages
102
+ const bayanLangs = await sdk.bayanAlIslam.languagesList();
103
+
104
+ // 2. Get content list for Muslims
105
+ const muslimList = await sdk.bayanAlIslam.muslimList("en");
106
+
107
+ // 3. Get content list for non-Muslims
108
+ const nonMuslimList = await sdk.bayanAlIslam.nonMuslimList("en");
109
+
110
+ // 4. Get details of a specific content item by ID
111
+ const contentDetails = await sdk.bayanAlIslam.singleContent(22184);
112
+
113
+ // 5. Get recent additions
114
+ const recent = await sdk.bayanAlIslam.recentContents({
115
+ lang: "ar",
116
+ init: true,
117
+ });
118
+ ```
119
+
120
+ ### Al Montaka Source (Al Montaka API)
121
+
122
+ ```typescript
123
+ // 1. Get available languages
124
+ const languages = await sdk.alMontaka.lookups.languages();
125
+
126
+ // 2. Get target age groups
127
+ const ageGroups = await sdk.alMontaka.lookups.ageGroups();
128
+
129
+ // 3. Get comments for a specific content ID
130
+ const comments = await sdk.alMontaka.contents.comments(1);
131
+
132
+ // 4. Add a new comment to a specific content
133
+ const newComment = await sdk.alMontaka.contents.addComment(1, "Test comment");
134
+
135
+ // 5. Get filtered content by category IDs
136
+ const filteredContent = await sdk.alMontaka.contents.content([1, 2]);
137
+ ```
@@ -0,0 +1,277 @@
1
+ declare class BaseService {
2
+ protected request<T>(url: string, method?: string, body?: any, customHeaders?: Record<string, string>): Promise<T>;
3
+ }
4
+
5
+ interface TranslationListParams {
6
+ language?: string;
7
+ localization?: string;
8
+ }
9
+ interface AddNotePayload {
10
+ aya: number;
11
+ name: string;
12
+ note: string;
13
+ sura: number;
14
+ email: string;
15
+ source: string;
16
+ version: string;
17
+ translation_key: string;
18
+ suggested_translation?: string;
19
+ }
20
+ declare class QuranencService extends BaseService {
21
+ private baseurl;
22
+ private audioBaseUrl;
23
+ constructor();
24
+ translationList(params?: TranslationListParams): Promise<any>;
25
+ translationSura(translationKey: string, suraNumber: number): Promise<any>;
26
+ translationAya(translationKey: string, suraNumber: number, ayaNumber: number): Promise<any>;
27
+ ayaAudio(translationKey: string, suraNumber: number, ayaNumber: number): Promise<{
28
+ status: number;
29
+ file_url: string;
30
+ content_type: string;
31
+ }>;
32
+ addNote(payload: AddNotePayload): Promise<any>;
33
+ }
34
+
35
+ interface HadithsListParams {
36
+ language: string;
37
+ categoryId?: number;
38
+ page?: number;
39
+ perPage?: number;
40
+ }
41
+ interface HadithDetailsParams {
42
+ id: number;
43
+ language: string;
44
+ }
45
+ declare class HadeethencService extends BaseService {
46
+ private baseurl;
47
+ constructor();
48
+ languages(): Promise<any>;
49
+ categories(languageCode: string): Promise<any>;
50
+ rootCategories(languageCode: string): Promise<any>;
51
+ hadithsList(params: HadithsListParams): Promise<any>;
52
+ hadithDetails(params: HadithDetailsParams): Promise<any>;
53
+ }
54
+
55
+ interface AuthorsListParams {
56
+ kind?: string;
57
+ locale?: string;
58
+ sort?: string;
59
+ page?: number;
60
+ perPage?: number;
61
+ }
62
+ declare class IslamhouseCategoriesAndTypesService extends BaseService {
63
+ private baseurl;
64
+ constructor(baseurl: string);
65
+ allTypes(siteLang: string, contentLang: string): Promise<any>;
66
+ allCategories(language: string): Promise<any>;
67
+ categoriesTree(language: string): Promise<any>;
68
+ childCategories(id: number, siteLang: string, contentLang: string): Promise<any>;
69
+ singleCategoryBasic(id: number, language: string): Promise<any>;
70
+ subCategories(id: number, language: string): Promise<any>;
71
+ categoryTypes(id: number, siteLang: string, contentLang: string): Promise<any>;
72
+ categoryLanguages(id: number, slang: string, language: string): Promise<any>;
73
+ }
74
+ declare class IslamhouseItemsService extends BaseService {
75
+ private baseurl;
76
+ constructor(baseurl: string);
77
+ listItems(type: string, siteLang: string, slang: string, page?: number, limit?: number): Promise<any>;
78
+ authorItems(authorId: number, slang: string, siteLang: string, contentLang: string, page?: number, limit?: number): Promise<any>;
79
+ categoryItems(categoryId: number, slang: string, siteLang: string, contentLang: string, page?: number, limit?: number): Promise<any>;
80
+ latestItems(period: string, slang: string, siteLang: string, contentLang: string, page?: number, limit?: number): Promise<any>;
81
+ highlightedItems(siteLang: string, contentLang: string): Promise<any>;
82
+ itemsCount(type: string, siteLang: string, contentLang: string): Promise<any>;
83
+ }
84
+ declare class IslamhouseItemService extends BaseService {
85
+ private baseurl;
86
+ constructor(baseurl: string);
87
+ details(id: number, language: string): Promise<any>;
88
+ attachments(id: number): Promise<any>;
89
+ tree(id: number, language: string): Promise<any>;
90
+ cardTranslations(id: number, language: string): Promise<any>;
91
+ translations(id: number, language: string): Promise<any>;
92
+ }
93
+ declare class IslamhouseAuthorsService extends BaseService {
94
+ private baseurl;
95
+ constructor(baseurl: string);
96
+ list(params?: AuthorsListParams): Promise<any>;
97
+ details(id: number, language: string): Promise<any>;
98
+ cardTranslations(id: number, language: string): Promise<any>;
99
+ availableTypes(id: number, siteLang: string, contentLang: string): Promise<any>;
100
+ availableLocales(id: number, slang: string, language: string): Promise<any>;
101
+ }
102
+ declare class IslamhouseLanguagesService extends BaseService {
103
+ private baseurl;
104
+ constructor(baseurl: string);
105
+ keys(): Promise<any>;
106
+ terms(language: string): Promise<any>;
107
+ availableLanguages(slang: string, language: string): Promise<any>;
108
+ }
109
+ declare class IslamhouseQuranService extends BaseService {
110
+ private baseurl;
111
+ constructor(baseurl: string);
112
+ categories(language: string): Promise<any>;
113
+ singleCategory(id: number, language: string): Promise<any>;
114
+ authorDetails(id: number, language: string): Promise<any>;
115
+ authorRecitations(id: number, language: string): Promise<any>;
116
+ suraDetails(suraId: number, language: string): Promise<any>;
117
+ suraRecitations(suraId: number, language: string): Promise<any>;
118
+ recitationDetails(id: number, language: string): Promise<any>;
119
+ }
120
+ declare class IslamhouseService {
121
+ categoriesAndTypes: IslamhouseCategoriesAndTypesService;
122
+ items: IslamhouseItemsService;
123
+ item: IslamhouseItemService;
124
+ authors: IslamhouseAuthorsService;
125
+ languages: IslamhouseLanguagesService;
126
+ quran: IslamhouseQuranService;
127
+ private baseurl;
128
+ constructor();
129
+ }
130
+
131
+ interface RisalaContentsParams {
132
+ language?: string;
133
+ lang?: string;
134
+ }
135
+ interface RisalaIslamicContentParams {
136
+ language?: string;
137
+ lang?: string;
138
+ isFeatured?: number;
139
+ }
140
+ declare class RisalaContentsService extends BaseService {
141
+ private baseurl;
142
+ private apiPath;
143
+ constructor(baseurl: string, apiPath: string);
144
+ getFullContents(params?: RisalaContentsParams): Promise<any>;
145
+ getContents(params?: RisalaContentsParams): Promise<any>;
146
+ singleContent(id: number, language?: string): Promise<any>;
147
+ nameSearch(name: string, language?: string): Promise<any>;
148
+ availableLanguages(id: number, language?: string): Promise<any>;
149
+ contentTranslation(id: number, targetLanguage: string, language?: string): Promise<any>;
150
+ }
151
+ declare class RisalaIslamicContentService extends BaseService {
152
+ private baseurl;
153
+ private apiPath;
154
+ constructor(baseurl: string, apiPath: string);
155
+ fatwas(params?: RisalaIslamicContentParams): Promise<any>;
156
+ hadeeths(params?: RisalaIslamicContentParams): Promise<any>;
157
+ quran(params?: RisalaIslamicContentParams): Promise<any>;
158
+ }
159
+ declare class RisalaSearchService extends BaseService {
160
+ private baseurl;
161
+ private apiPath;
162
+ constructor(baseurl: string, apiPath: string);
163
+ contents(query: string, language?: string): Promise<any>;
164
+ }
165
+ declare class RisalaLookupsService extends BaseService {
166
+ private baseurl;
167
+ private apiPath;
168
+ constructor(baseurl: string, apiPath: string);
169
+ languages(language?: string, apiKey?: string): Promise<any>;
170
+ contentTypes(language?: string): Promise<any>;
171
+ }
172
+ declare class RisalatAlHaramainService {
173
+ contents: RisalaContentsService;
174
+ islamicContent: RisalaIslamicContentService;
175
+ search: RisalaSearchService;
176
+ lookups: RisalaLookupsService;
177
+ private baseurl;
178
+ private apiPath;
179
+ constructor();
180
+ }
181
+
182
+ interface RecentContentsParams {
183
+ lang: string;
184
+ init: boolean;
185
+ ids?: number[];
186
+ language?: string;
187
+ }
188
+ interface PaginatedLanguagesParams {
189
+ name?: string;
190
+ page?: number;
191
+ language?: string;
192
+ }
193
+ declare class BayanAlIslamService extends BaseService {
194
+ private baseurl;
195
+ constructor();
196
+ languagesList(language?: string): Promise<any>;
197
+ muslimList(language?: string): Promise<any>;
198
+ nonMuslimList(language?: string): Promise<any>;
199
+ singleContent(id: number, language?: string): Promise<any>;
200
+ paginatedLanguages(params?: PaginatedLanguagesParams): Promise<any>;
201
+ recentContents(params: RecentContentsParams): Promise<any>;
202
+ lookups(language?: string): Promise<any>;
203
+ nameSearch(name: string, language?: string): Promise<any>;
204
+ availableLanguages(id: number, language?: string): Promise<any>;
205
+ contentTranslation(id: number, targetLanguage: string, language?: string): Promise<any>;
206
+ attachmentsTranslation(id: number, targetLanguage: string, language?: string): Promise<any>;
207
+ }
208
+
209
+ interface AlMontakaCategoriesParams {
210
+ languageId: number;
211
+ nameCont: string;
212
+ }
213
+ interface AlMontakaEntitiesParams {
214
+ languageId: number;
215
+ nameCont: string;
216
+ }
217
+ interface AlMontakaExpertLevelsParams {
218
+ languageId: number;
219
+ nameCont: string;
220
+ }
221
+ interface AlMontakaIdeologiesParams {
222
+ languageId: number;
223
+ nameCont: string;
224
+ parentId: number;
225
+ }
226
+ interface AlMontakaPersonsParams {
227
+ nameCont?: string;
228
+ page?: number;
229
+ }
230
+ interface AlMontakaSectionsParams {
231
+ languageId: number;
232
+ nameCont: string;
233
+ }
234
+ interface AlMontakaTagsParams {
235
+ languageId: number;
236
+ nameCont: string;
237
+ }
238
+ declare class AlMontakaContentsService extends BaseService {
239
+ private baseurl;
240
+ constructor(baseurl: string);
241
+ comments(contentId: number): Promise<any>;
242
+ addComment(contentId: number, comment: string): Promise<any>;
243
+ content(categories: number[]): Promise<any>;
244
+ }
245
+ declare class AlMontakaLookupsService extends BaseService {
246
+ private baseurl;
247
+ constructor(baseurl: string);
248
+ ageGroups(): Promise<any>;
249
+ categories(params: AlMontakaCategoriesParams): Promise<any>;
250
+ entities(params: AlMontakaEntitiesParams): Promise<any>;
251
+ expertLevels(params: AlMontakaExpertLevelsParams): Promise<any>;
252
+ ideologies(params: AlMontakaIdeologiesParams): Promise<any>;
253
+ languages(): Promise<any>;
254
+ persons(params?: AlMontakaPersonsParams): Promise<any>;
255
+ sections(params: AlMontakaSectionsParams): Promise<any>;
256
+ tags(params: AlMontakaTagsParams): Promise<any>;
257
+ targetedGroups(): Promise<any>;
258
+ youtubeChannels(): Promise<any>;
259
+ }
260
+ declare class AlMontakaService {
261
+ contents: AlMontakaContentsService;
262
+ lookups: AlMontakaLookupsService;
263
+ private baseurl;
264
+ constructor();
265
+ }
266
+
267
+ declare class IslamicContentSdk {
268
+ quranenc: QuranencService;
269
+ hadeethenc: HadeethencService;
270
+ islamhouse: IslamhouseService;
271
+ risalatAlHaramain: RisalatAlHaramainService;
272
+ bayanAlIslam: BayanAlIslamService;
273
+ alMontaka: AlMontakaService;
274
+ constructor();
275
+ }
276
+
277
+ export { IslamicContentSdk };
@@ -0,0 +1,277 @@
1
+ declare class BaseService {
2
+ protected request<T>(url: string, method?: string, body?: any, customHeaders?: Record<string, string>): Promise<T>;
3
+ }
4
+
5
+ interface TranslationListParams {
6
+ language?: string;
7
+ localization?: string;
8
+ }
9
+ interface AddNotePayload {
10
+ aya: number;
11
+ name: string;
12
+ note: string;
13
+ sura: number;
14
+ email: string;
15
+ source: string;
16
+ version: string;
17
+ translation_key: string;
18
+ suggested_translation?: string;
19
+ }
20
+ declare class QuranencService extends BaseService {
21
+ private baseurl;
22
+ private audioBaseUrl;
23
+ constructor();
24
+ translationList(params?: TranslationListParams): Promise<any>;
25
+ translationSura(translationKey: string, suraNumber: number): Promise<any>;
26
+ translationAya(translationKey: string, suraNumber: number, ayaNumber: number): Promise<any>;
27
+ ayaAudio(translationKey: string, suraNumber: number, ayaNumber: number): Promise<{
28
+ status: number;
29
+ file_url: string;
30
+ content_type: string;
31
+ }>;
32
+ addNote(payload: AddNotePayload): Promise<any>;
33
+ }
34
+
35
+ interface HadithsListParams {
36
+ language: string;
37
+ categoryId?: number;
38
+ page?: number;
39
+ perPage?: number;
40
+ }
41
+ interface HadithDetailsParams {
42
+ id: number;
43
+ language: string;
44
+ }
45
+ declare class HadeethencService extends BaseService {
46
+ private baseurl;
47
+ constructor();
48
+ languages(): Promise<any>;
49
+ categories(languageCode: string): Promise<any>;
50
+ rootCategories(languageCode: string): Promise<any>;
51
+ hadithsList(params: HadithsListParams): Promise<any>;
52
+ hadithDetails(params: HadithDetailsParams): Promise<any>;
53
+ }
54
+
55
+ interface AuthorsListParams {
56
+ kind?: string;
57
+ locale?: string;
58
+ sort?: string;
59
+ page?: number;
60
+ perPage?: number;
61
+ }
62
+ declare class IslamhouseCategoriesAndTypesService extends BaseService {
63
+ private baseurl;
64
+ constructor(baseurl: string);
65
+ allTypes(siteLang: string, contentLang: string): Promise<any>;
66
+ allCategories(language: string): Promise<any>;
67
+ categoriesTree(language: string): Promise<any>;
68
+ childCategories(id: number, siteLang: string, contentLang: string): Promise<any>;
69
+ singleCategoryBasic(id: number, language: string): Promise<any>;
70
+ subCategories(id: number, language: string): Promise<any>;
71
+ categoryTypes(id: number, siteLang: string, contentLang: string): Promise<any>;
72
+ categoryLanguages(id: number, slang: string, language: string): Promise<any>;
73
+ }
74
+ declare class IslamhouseItemsService extends BaseService {
75
+ private baseurl;
76
+ constructor(baseurl: string);
77
+ listItems(type: string, siteLang: string, slang: string, page?: number, limit?: number): Promise<any>;
78
+ authorItems(authorId: number, slang: string, siteLang: string, contentLang: string, page?: number, limit?: number): Promise<any>;
79
+ categoryItems(categoryId: number, slang: string, siteLang: string, contentLang: string, page?: number, limit?: number): Promise<any>;
80
+ latestItems(period: string, slang: string, siteLang: string, contentLang: string, page?: number, limit?: number): Promise<any>;
81
+ highlightedItems(siteLang: string, contentLang: string): Promise<any>;
82
+ itemsCount(type: string, siteLang: string, contentLang: string): Promise<any>;
83
+ }
84
+ declare class IslamhouseItemService extends BaseService {
85
+ private baseurl;
86
+ constructor(baseurl: string);
87
+ details(id: number, language: string): Promise<any>;
88
+ attachments(id: number): Promise<any>;
89
+ tree(id: number, language: string): Promise<any>;
90
+ cardTranslations(id: number, language: string): Promise<any>;
91
+ translations(id: number, language: string): Promise<any>;
92
+ }
93
+ declare class IslamhouseAuthorsService extends BaseService {
94
+ private baseurl;
95
+ constructor(baseurl: string);
96
+ list(params?: AuthorsListParams): Promise<any>;
97
+ details(id: number, language: string): Promise<any>;
98
+ cardTranslations(id: number, language: string): Promise<any>;
99
+ availableTypes(id: number, siteLang: string, contentLang: string): Promise<any>;
100
+ availableLocales(id: number, slang: string, language: string): Promise<any>;
101
+ }
102
+ declare class IslamhouseLanguagesService extends BaseService {
103
+ private baseurl;
104
+ constructor(baseurl: string);
105
+ keys(): Promise<any>;
106
+ terms(language: string): Promise<any>;
107
+ availableLanguages(slang: string, language: string): Promise<any>;
108
+ }
109
+ declare class IslamhouseQuranService extends BaseService {
110
+ private baseurl;
111
+ constructor(baseurl: string);
112
+ categories(language: string): Promise<any>;
113
+ singleCategory(id: number, language: string): Promise<any>;
114
+ authorDetails(id: number, language: string): Promise<any>;
115
+ authorRecitations(id: number, language: string): Promise<any>;
116
+ suraDetails(suraId: number, language: string): Promise<any>;
117
+ suraRecitations(suraId: number, language: string): Promise<any>;
118
+ recitationDetails(id: number, language: string): Promise<any>;
119
+ }
120
+ declare class IslamhouseService {
121
+ categoriesAndTypes: IslamhouseCategoriesAndTypesService;
122
+ items: IslamhouseItemsService;
123
+ item: IslamhouseItemService;
124
+ authors: IslamhouseAuthorsService;
125
+ languages: IslamhouseLanguagesService;
126
+ quran: IslamhouseQuranService;
127
+ private baseurl;
128
+ constructor();
129
+ }
130
+
131
+ interface RisalaContentsParams {
132
+ language?: string;
133
+ lang?: string;
134
+ }
135
+ interface RisalaIslamicContentParams {
136
+ language?: string;
137
+ lang?: string;
138
+ isFeatured?: number;
139
+ }
140
+ declare class RisalaContentsService extends BaseService {
141
+ private baseurl;
142
+ private apiPath;
143
+ constructor(baseurl: string, apiPath: string);
144
+ getFullContents(params?: RisalaContentsParams): Promise<any>;
145
+ getContents(params?: RisalaContentsParams): Promise<any>;
146
+ singleContent(id: number, language?: string): Promise<any>;
147
+ nameSearch(name: string, language?: string): Promise<any>;
148
+ availableLanguages(id: number, language?: string): Promise<any>;
149
+ contentTranslation(id: number, targetLanguage: string, language?: string): Promise<any>;
150
+ }
151
+ declare class RisalaIslamicContentService extends BaseService {
152
+ private baseurl;
153
+ private apiPath;
154
+ constructor(baseurl: string, apiPath: string);
155
+ fatwas(params?: RisalaIslamicContentParams): Promise<any>;
156
+ hadeeths(params?: RisalaIslamicContentParams): Promise<any>;
157
+ quran(params?: RisalaIslamicContentParams): Promise<any>;
158
+ }
159
+ declare class RisalaSearchService extends BaseService {
160
+ private baseurl;
161
+ private apiPath;
162
+ constructor(baseurl: string, apiPath: string);
163
+ contents(query: string, language?: string): Promise<any>;
164
+ }
165
+ declare class RisalaLookupsService extends BaseService {
166
+ private baseurl;
167
+ private apiPath;
168
+ constructor(baseurl: string, apiPath: string);
169
+ languages(language?: string, apiKey?: string): Promise<any>;
170
+ contentTypes(language?: string): Promise<any>;
171
+ }
172
+ declare class RisalatAlHaramainService {
173
+ contents: RisalaContentsService;
174
+ islamicContent: RisalaIslamicContentService;
175
+ search: RisalaSearchService;
176
+ lookups: RisalaLookupsService;
177
+ private baseurl;
178
+ private apiPath;
179
+ constructor();
180
+ }
181
+
182
+ interface RecentContentsParams {
183
+ lang: string;
184
+ init: boolean;
185
+ ids?: number[];
186
+ language?: string;
187
+ }
188
+ interface PaginatedLanguagesParams {
189
+ name?: string;
190
+ page?: number;
191
+ language?: string;
192
+ }
193
+ declare class BayanAlIslamService extends BaseService {
194
+ private baseurl;
195
+ constructor();
196
+ languagesList(language?: string): Promise<any>;
197
+ muslimList(language?: string): Promise<any>;
198
+ nonMuslimList(language?: string): Promise<any>;
199
+ singleContent(id: number, language?: string): Promise<any>;
200
+ paginatedLanguages(params?: PaginatedLanguagesParams): Promise<any>;
201
+ recentContents(params: RecentContentsParams): Promise<any>;
202
+ lookups(language?: string): Promise<any>;
203
+ nameSearch(name: string, language?: string): Promise<any>;
204
+ availableLanguages(id: number, language?: string): Promise<any>;
205
+ contentTranslation(id: number, targetLanguage: string, language?: string): Promise<any>;
206
+ attachmentsTranslation(id: number, targetLanguage: string, language?: string): Promise<any>;
207
+ }
208
+
209
+ interface AlMontakaCategoriesParams {
210
+ languageId: number;
211
+ nameCont: string;
212
+ }
213
+ interface AlMontakaEntitiesParams {
214
+ languageId: number;
215
+ nameCont: string;
216
+ }
217
+ interface AlMontakaExpertLevelsParams {
218
+ languageId: number;
219
+ nameCont: string;
220
+ }
221
+ interface AlMontakaIdeologiesParams {
222
+ languageId: number;
223
+ nameCont: string;
224
+ parentId: number;
225
+ }
226
+ interface AlMontakaPersonsParams {
227
+ nameCont?: string;
228
+ page?: number;
229
+ }
230
+ interface AlMontakaSectionsParams {
231
+ languageId: number;
232
+ nameCont: string;
233
+ }
234
+ interface AlMontakaTagsParams {
235
+ languageId: number;
236
+ nameCont: string;
237
+ }
238
+ declare class AlMontakaContentsService extends BaseService {
239
+ private baseurl;
240
+ constructor(baseurl: string);
241
+ comments(contentId: number): Promise<any>;
242
+ addComment(contentId: number, comment: string): Promise<any>;
243
+ content(categories: number[]): Promise<any>;
244
+ }
245
+ declare class AlMontakaLookupsService extends BaseService {
246
+ private baseurl;
247
+ constructor(baseurl: string);
248
+ ageGroups(): Promise<any>;
249
+ categories(params: AlMontakaCategoriesParams): Promise<any>;
250
+ entities(params: AlMontakaEntitiesParams): Promise<any>;
251
+ expertLevels(params: AlMontakaExpertLevelsParams): Promise<any>;
252
+ ideologies(params: AlMontakaIdeologiesParams): Promise<any>;
253
+ languages(): Promise<any>;
254
+ persons(params?: AlMontakaPersonsParams): Promise<any>;
255
+ sections(params: AlMontakaSectionsParams): Promise<any>;
256
+ tags(params: AlMontakaTagsParams): Promise<any>;
257
+ targetedGroups(): Promise<any>;
258
+ youtubeChannels(): Promise<any>;
259
+ }
260
+ declare class AlMontakaService {
261
+ contents: AlMontakaContentsService;
262
+ lookups: AlMontakaLookupsService;
263
+ private baseurl;
264
+ constructor();
265
+ }
266
+
267
+ declare class IslamicContentSdk {
268
+ quranenc: QuranencService;
269
+ hadeethenc: HadeethencService;
270
+ islamhouse: IslamhouseService;
271
+ risalatAlHaramain: RisalatAlHaramainService;
272
+ bayanAlIslam: BayanAlIslamService;
273
+ alMontaka: AlMontakaService;
274
+ constructor();
275
+ }
276
+
277
+ export { IslamicContentSdk };