type OfferType = 1 | 2 | 3 | 4 | 34 | '1' | '2' | '3' | '4' | '34'; type ContractDuration = 1 | 2 | '1' | '2'; type WorkTime = 'vz' | 'tz' | 'snw' | 'ho' | 'mj'; /** * @param to be used in the function this is the english names see the documentation * #:~:text=Parametern%20zu%20filtern%3A-,Filter,-Parameter%3A%20was */ interface IArbeitsAgenturJobArgsProps { /** * @alias was */ what: string | undefined; /** * @alias wo */ where: string; /** * @alias berufsfeld | undefined */ professionalField: string | undefined; page: number | undefined; /** * @alias arbeitgeber */ employer: string | undefined; /** * @alias zeitarbeit */ isTemporary: boolean | undefined; size: number | undefined; /** * @alias veroeffentlichtseit */ publishedSince: number | undefined; /** * @alias pav */ isPrivate: boolean | undefined; /** * @alias angebotsart * @accepts numbers or string of 1 | 2 | 4 | 34 * Angebotsart: 1=ARBEIT; 2=SELBSTAENDIGKEIT; 4=AUSBILDUNG/Duales Studium; 34=Praktikum/Trainee. */ offerType: OfferType | undefined; /** * 1 * 2 * Befristung: 1 = befristet; 2 = unbefristet. Mehrere Semikolon-separierte Werte möglich (z.B. befristung=1;2). */ contractDuration: ContractDuration; /** * @alias umkreis (Optional) * Umkreis: in Kilometern von Wo-Parameter (z.B. 25 oder 200). */ radius: number; /** * @alias arbeitszeit (Optional) * WorkTime: vz=FULL_TIME, tz=PART_TIME, snw=SHIFT_NIGHT_WEEKEND, ho=HOME_TELEWORK, mj=MINIJOB. * Multiple semicolon-separated values are possible (e.g., workTime=vz;tz). */ workTime: WorkTime[]; /** * to allow any additional properties */ [key: string]: any; } type AliasMapping = { what: keyof IArbeitsAgenturJobArgsProps; where: keyof IArbeitsAgenturJobArgsProps; professionalField: keyof IArbeitsAgenturJobArgsProps; page: keyof IArbeitsAgenturJobArgsProps; employer: keyof IArbeitsAgenturJobArgsProps; isTemporary: keyof IArbeitsAgenturJobArgsProps; size: keyof IArbeitsAgenturJobArgsProps; publishedSince: keyof IArbeitsAgenturJobArgsProps; isPrivate: keyof IArbeitsAgenturJobArgsProps; offerType: keyof IArbeitsAgenturJobArgsProps; contractDuration: keyof IArbeitsAgenturJobArgsProps; radius: keyof IArbeitsAgenturJobArgsProps; workTime: keyof IArbeitsAgenturJobArgsProps; }; export { IArbeitsAgenturJobArgsProps, AliasMapping, WorkTime };