import { CmsOrganization } from "./CmsOrganization.js";
import { RR0Context } from "../RR0Context.js";
import { CmsOrganizationFactory } from "./CmsOrganizationFactory.js";
import { AbstractDataService, AllDataService, OrganizationJson } from "@rr0/data";
import { DataOptions } from "../DataOptions.js";
export type OrganizationServiceConfig = DataOptions;
export declare class OrganizationService<O extends CmsOrganization = CmsOrganization, P extends CmsOrganization = undefined> extends AbstractDataService<O, OrganizationJson> {
    protected config: OrganizationServiceConfig;
    readonly parentService: OrganizationService;
    protected orgs: O[];
    constructor(dataService: AllDataService, factory: CmsOrganizationFactory, config: OrganizationServiceConfig, parentService: OrganizationService, orgs: O[]);
    static normalizeName(name: string): string;
    getById(code: string, parent?: P): O | undefined;
    /**
     * @param context
     * @param nameToFind
     * @param parent should be context.placeContext
     */
    find(context: RR0Context, nameToFind: string, parent: P): O | undefined;
    read(fileName: string): Promise<O>;
    protected nameToFind(context: RR0Context, org: O, nameToFind: string): string;
}
