import { QdPageContextConfig, QdPageSelectedContext } from '../../model/page-config.interface';
import * as i0 from "@angular/core";
export interface QdContextSelection {
    contextId: string;
    value: QdPageSelectedContext | QdPageSelectedContext[];
}
/**
 * The **QdContextService** allows you to set / select contexts. Contexts are shown by default in read-only on inspect and create page.
 *
 * This service can be also used to restore contexts. Also contexts can be configured on overview pages.
 *
 * **Connect context to a table**
 * To make data in a table filtered by the context, you can easily connect it with the qdConnectToContext-Directive:
 *
 * ```html
 * <qd-page [config]="pageConfig">
 *   <qd-section [config]="sectionConfig">
 *     <qd-table [config]="tableConfig" qdConnectToContext></qd-table>
 *   </qd-section>
 * </qd-page>
 * ```
 */
export declare class QdContextService {
    private _configuredContexts;
    private _values;
    private _configuredContexts$;
    values$: import("rxjs").Observable<QdContextSelection[]>;
    contexts$: import("rxjs").Observable<{
        context: QdPageContextConfig;
        selection: QdContextSelection;
    }[]>;
    /**
     * This method allows to configure contexts outside an overview page. If you don't have an overview page that configures the contexts, you can use this service to configure it.
     * @param contexts the specific contexts.
     */
    initContexts(contexts: QdPageContextConfig[]): void;
    /**
     * This method selects a value for a context.
     * @param contextId ID of the context that the selection should happen for
     * @param selection The selection
     */
    setValue(contextId: string, selection: QdPageSelectedContext | QdPageSelectedContext[]): void;
    /**
     * This method clears the selection for a context.
     * @param contextId ID of the context you want to clear.
     */
    clear(contextId: string): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<QdContextService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<QdContextService>;
}
//# sourceMappingURL=context.service.d.ts.map