import { Observable } from 'rxjs';
import { ClickableAnchorLink, FilterSourceDirective, ClickablePartialFilterPreset } from '@dereekb/dbx-core';
import { Maybe } from '@dereekb/util';
import * as i0 from "@angular/core";
/**
 * Displays a button and menu for filtering partialPresets.
 */
export declare abstract class AbstractDbxPartialPresetFilterMenuDirective<F> {
    readonly filterSourceDirective: FilterSourceDirective<any>;
    readonly partialPresets: import("@angular/core").InputSignalWithTransform<ClickablePartialFilterPreset<F>[], Maybe<ClickablePartialFilterPreset<F>[]>>;
    readonly partialPresets$: Observable<ClickablePartialFilterPreset<F>[]>;
    readonly filter$: Observable<Maybe<F>>;
    readonly selectedPartialPresets$: Observable<ClickablePartialFilterPreset<F>[]>;
    readonly firstSelectedPartialPreset$: Observable<Maybe<ClickablePartialFilterPreset<F>>>;
    readonly presetAnchors$: Observable<ClickableAnchorLink[]>;
    readonly presetAnchorsSignal: import("@angular/core").Signal<ClickableAnchorLink[] | undefined>;
    selectPartialPreset(preset: ClickablePartialFilterPreset<F>): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AbstractDbxPartialPresetFilterMenuDirective<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractDbxPartialPresetFilterMenuDirective<any>, never, never, { "partialPresets": { "alias": "partialPresets"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
}
