import * as _angular_core from '@angular/core'; import { Provider, InjectionToken, Type, TemplateRef } from '@angular/core'; import { ILuApiItem } from '@lucca-front/ng/api'; import { LuTranslation } from '@lucca-front/ng/core'; import { HttpClient } from '@angular/common/http'; import { CoreSelectApiTotalCountProvider, LuOptionContext } from '@lucca-front/ng/core-select'; import { ALuCoreSelectApiDirective } from '@lucca-front/ng/core-select/api'; import { LuDisplayFormat } from '@lucca-front/ng/user'; import { Observable } from 'rxjs'; declare function provideCoreSelectCurrentUserId(factory: () => number): Provider; interface LuCoreSelectUser extends ILuApiItem { firstName: string; lastName: string; picture?: { href: string; }; } type LuCoreSelectWithAdditionnalInformation = T & { additionalInformation?: string; }; declare const LU_CORE_SELECT_USER_TRANSLATIONS: InjectionToken>; interface LuCoreSelectUserTranslations { me: string; includeFormerEmployees: string; } declare const luCoreSelectUserTranslations: LuTranslation; declare function provideCoreSelectUsersContext(directiveFn: () => Type>): Provider[]; declare class LuCoreSelectUsersDirective extends ALuCoreSelectApiDirective> implements CoreSelectApiTotalCountProvider { #private; protected httpClient: HttpClient; currentUserId: number; displayFormat: _angular_core.InputSignal; filters: _angular_core.InputSignal>; url: _angular_core.InputSignal; orderBy: _angular_core.InputSignal; operationIds: _angular_core.InputSignal; uniqueOperationIds: _angular_core.InputSignal; appInstanceId: _angular_core.InputSignal; enableFormerEmployees: _angular_core.InputSignalWithTransform; displayMeOption: _angular_core.InputSignal; customUserOptionTpl: _angular_core.ModelSignal | TemplateRef>>; includeFormerEmployees: _angular_core.WritableSignal; searchDelimiter: _angular_core.InputSignal; constructor(); protected defaultUrl: _angular_core.Signal; protected urlOrDefault: _angular_core.Signal; protected clue: _angular_core.Signal; protected params$: Observable>; protected meParams$: Observable<{ id: number; appInstanceId?: number; operations?: string; uniqueOperations?: string; fields: string; }>; protected me$: Observable; totalCount$: Observable; protected getMe(): Observable; protected getOptions(params: Record, page: number): Observable; protected getOptionsPage(params: Record, page: number): Observable<{ items: LuCoreSelectWithAdditionnalInformation[]; isLastPage: boolean; }>; protected optionKey: (option: T) => number; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵdir: _angular_core.ɵɵDirectiveDeclaration, "lu-simple-select[users],lu-multi-select[users]", ["luUsers"], { "displayFormat": { "alias": "displayFormat"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "url": { "alias": "url"; "required": false; "isSignal": true; }; "orderBy": { "alias": "orderBy"; "required": false; "isSignal": true; }; "operationIds": { "alias": "operationIds"; "required": false; "isSignal": true; }; "uniqueOperationIds": { "alias": "uniqueOperationIds"; "required": false; "isSignal": true; }; "appInstanceId": { "alias": "appInstanceId"; "required": false; "isSignal": true; }; "enableFormerEmployees": { "alias": "enableFormerEmployees"; "required": false; "isSignal": true; }; "displayMeOption": { "alias": "displayMeOption"; "required": false; "isSignal": true; }; "customUserOptionTpl": { "alias": "customUserOptionTpl"; "required": false; "isSignal": true; }; "searchDelimiter": { "alias": "searchDelimiter"; "required": false; "isSignal": true; }; }, { "customUserOptionTpl": "customUserOptionTplChange"; }, never, never, true, never>; } declare class LuCoreSelectUserOptionDirective { #private; readonly usersDirective: _angular_core.InputSignal>; constructor(); static ngTemplateContextGuard(_dir: LuCoreSelectUserOptionDirective, ctx: unknown): ctx is { $implicit: T; }; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵdir: _angular_core.ɵɵDirectiveDeclaration, "[luUserOption]", never, { "usersDirective": { "alias": "luUserOptionUsersRef"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>; } export { LU_CORE_SELECT_USER_TRANSLATIONS, LuCoreSelectUserOptionDirective, LuCoreSelectUsersDirective, luCoreSelectUserTranslations, provideCoreSelectCurrentUserId, provideCoreSelectUsersContext }; export type { LuCoreSelectUser, LuCoreSelectUserTranslations, LuCoreSelectWithAdditionnalInformation };