import { Observable } from 'rxjs'; import type { CheckPhoneCodeInput, CheckPhoneResponse, Dish, Group, Maintenance, NavbarMenuLink, Navigation, NavigationBase, NavigationLoader, NavigationsMenuItem, NgGqlConfig, Phone, PhoneKnowledge, ValuesOrBoolean } from '../models'; import { NgGqlStoreService } from './ng-gql-storage.service'; import { RequestService } from './request.service'; import * as i0 from "@angular/core"; export declare class NgGqlService { private _requestService; private _storage; private _config; private _defaultNavigationFragments; private _defaultMaintenanceFragments; private _defaultGroupFragments; private _defaultDishFragments; private _pendingLoadNavBar; private _pendingLoadNavigation; constructor(_requestService: RequestService, _storage: NgGqlStoreService, _config: NgGqlConfig, _defaultNavigationFragments: ValuesOrBoolean, _defaultMaintenanceFragments: ValuesOrBoolean, _defaultGroupFragments: ValuesOrBoolean, _defaultDishFragments: ValuesOrBoolean); getNgGqlConfig(): NgGqlConfig; /** * @method getNavigation$() * Используется для получения массива обьектов навигации для различных компонентов приложения. * @param options - объект NavigationLoader. Обязателен, при использовании нестандартной схемы навигации в приложении. * @see @interface NavigationLoader */ getNavigation$(options: NavigationLoader): Observable; /** * @method getNavigation$() * Используется для получения массива обьектов навигации для различных компонентов приложения. * Если приложение использует стандартную механику навигации, параметр `options` - не требуется. */ getNavigation$(): Observable; /** Список ссылок для необходимого раздела навигации */ getNavigationPoints(slug: 'header' | 'footer' | 'social' | string): Observable; /** Возвращает ссылку на страницу, которая будет стартовой для меню */ getStartMenuSlug(): Observable<[string[], string | undefined]>; getMaintenance$(): Observable; /** * Внутренний метод, используемый для загрузки основного - "корневого" списка групп. * @param slug - init- slug. * Либо принимается извне через внутренний поток `initGroupSlug$`, либо формируется на основании данных в массиве Navigation[], загруженном на старте приложения. * Чтобы обновлять значение в `initGroupSlug$` используется метод `updateInitGroupSlug` * @returns */ getGroup(slug: string, concept?: string): Observable; /** * @method addAmountToDish() * Метод-хелпер, используемый для добавления модификаторам блюда параметра amount и установки ему значения, в случае, если они у него имеются. * @param sourceDish - объект с исходными данными блюда. * @returns новый, дополненный объект с данными блюда. */ addAmountToDish(sourceDish: Dish): Dish; getDishes$(ids: string[]): Observable; getDishBySlug(slug: string): Observable; getNavBarMenu(concept?: string, topLevelGroupId?: string): Observable; /** * @method isKnownPhone$ * Проверяет переданный номер телефона на "знакомость". * @param phone - Объект с данными номера телефона. * @returns */ isKnownPhone$(phone: Phone, customvOb?: ValuesOrBoolean): Observable; phoneKnowledgeGetCode$(phone: Phone): Observable; phoneKnowledgeSetCode$(data: CheckPhoneCodeInput): Observable; destroy(): void; private _getDishes; private _getAdditionalInfo; private _loadNavigation; private _loadNavBarMenu; private _addIfItemNotExist; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }