import IFrontController, { Meta } from "../types/front-controller"; import Name, { NameTypes } from "../types/resources/name"; import { Client as GpdbClient, NameOwner, PermissionsManager, User, UserResponse, ClientPreferences } from "gpdb-api-client"; import Pronunciation, { RelativeSource, SourceType } from "../types/resources/pronunciation"; import NamesApi from "./api/names.api"; import NameParser from "../types/name-parser"; import { loadParams as permissionsLoadParams } from "gpdb-api-client/build/main/types/repositories/permissions"; import { loadParams as preferencesLoadParams } from "gpdb-api-client/build/main/types/repositories/client-side-preferences"; import { CustomAttributeObject } from "../types/resources/custom-attribute"; export default class FrontController implements IFrontController { private readonly apiClient; nameOwnerContext: NameOwner; userContext: User; nameParser: NameParser; private readonly namesApi; permissions: PermissionsManager; customAttributes: CustomAttributeObject[]; preferences: ClientPreferences; constructor(apiClient: GpdbClient, nameOwnerContext: NameOwner, userContext: User, nameParser?: NameParser, namesApi?: NamesApi); isUserOwnsName(nameOwnerSignature?: string): boolean; complexSearch(names: Array, nameOwner?: NameOwner): Promise<{ [t in NameTypes]: Pronunciation[]; }>; simpleSearch(name: Omit, nameOwner?: NameOwner): Promise; searchBySig(nameOwner?: NameOwner, meta?: Meta): Promise; destroy(id: string, sourceType?: SourceType, relativeSource?: RelativeSource): Promise; restore(id: string): Promise; createRecording(name: string, type: NameTypes, audio: string, nameOwner?: NameOwner): Promise; createUserResponse(id: string, type: UserResponse, nameOwner?: NameOwner): Promise; requestRecording(name: string, type: NameTypes, nameOwner?: NameOwner): Promise; findRecordingRequest(name: string, type: NameTypes, nameOwner?: NameOwner): Promise; saveCustomAttributes(customAttributesValues: { [x: string]: string | boolean; }, nameOwner?: NameOwner): Promise<{ [x: string]: any; }>; sendAnalytics(eventType: string, message: string | object | boolean, recordingId?: string, rootUrl?: string, toolSignature?: string): Promise; getSuggestions(name: string): Promise; verifyNames(name: string): Promise; loadPermissions(rest?: permissionsLoadParams): Promise; loadClientPreferences(rest?: preferencesLoadParams): Promise; loadCustomAttributesConfig(): Promise; saveAudioSampleRate(): Promise; loadAudioSampleRate(): Promise; resultByTargets(names: any, target_results: any, owner: any): any; private shouldCustomAttributesUpdate; savePreferredRecordings({ firstNamePronunciation, lastNamePronunciation, }: { firstNamePronunciation: any; lastNamePronunciation: any; }): Promise; getPreferredRecordings({ userContext, ownerContext, }: { userContext?: any; ownerContext: any; }): Promise; deletePreferredRecordings({ firstNamePronunciation, lastNamePronunciation, }: { firstNamePronunciation: any; lastNamePronunciation: any; }): Promise; getAvatar(owner?: User): Promise; saveAvatar(image: string): Promise; deleteAvatar(): Promise; }