import { ConnectionService } from '../api/connection.service';
import { Observable } from 'rxjs';
import { Constants } from '../core.consts';
import { FAQ } from '../interfaces/faqs';
import { Filter } from '../classes/filters/Filter';
export declare class OptionsService {
    private connection;
    private constants;
    private categoriesSubject;
    private attributesSubject;
    private sectionsSubject;
    private readySubject;
    private data;
    categories: Observable<any>;
    attributes: Observable<any>;
    sections: Observable<any>;
    ready: Observable<any>;
    constructor(connection: ConnectionService, constants: Constants);
    private getAllData;
    private getCategories;
    private getAttributes;
    private appendPaths;
    private getSections;
    private appendSection;
    getSectionContentByLink: (link: any) => Observable<any>;
    getSectionContentByLinkAsPromise: (link: any) => Promise<any>;
    getFAQ: () => Observable<FAQ[]>;
    private optionLoaded;
    private isSubElement;
    private findCode;
    getCodeBySlug: (slug: any) => any;
    getHigher: (code: any) => any;
    /**
     * @private
     * APIS
     */
    private cmsBase;
    private cmsChannel;
    private shopApi;
    private faqsApi;
    private sectionsApi;
    private sectionByCodeApi;
    private pageContentByCodeApi;
    private taxonsApi;
    private attributesApi;
    /**
     * @public
     * UTILS
     */
    addAttributesSlug: (attributes: any) => any;
    slugify: (text: string) => any;
    generateMenu: (elements: any) => any;
    removeAccents: (str: any) => any;
    getBreadcrumb: (code: any) => any;
    getBreadcrumbByFilters: (filters: Filter[]) => any[];
    private generateBreadcrumb;
}
