import { Injector } from "@angular/core";
import { ActivatedRoute } from "@angular/router";
import { TranslateService } from "@ngx-translate/core";
import { StaticPageTranslationDto, StaticPageTranslationFieldsDto } from "cadlearning.dto";
import { SystemV1Client } from "../../client/client";
import { User } from "../../models/user";
import { BaseUserService } from "../../services/baseuser.service";
export type TranslateObject = {
    [key: string]: string | undefined;
};
export declare class BaseComponent<TUserService extends BaseUserService> {
    IsLoaded: boolean;
    Language: string | null;
    PageTranslation: StaticPageTranslationDto;
    protected Uri: string | null;
    protected UserService: TUserService;
    protected SystemClient: SystemV1Client;
    get User(): User;
    protected Route: ActivatedRoute;
    protected Translate: TranslateService;
    constructor(injector: Injector);
    TranslatePage(): Promise<void>;
    protected GetActivatedRouteSegments(route: ActivatedRoute): string;
    protected MapTranslationFields(fields: StaticPageTranslationFieldsDto[]): TranslateObject;
    TranslateValue(list: any[], value: any, valueField?: string, textField?: string): any;
    GetTranslationString(key: string): Promise<string>;
    OverrideTranslationUri(uri: string): void;
}
//# sourceMappingURL=base.component.d.ts.map