import { ComponentPortal } from '@angular/cdk/portal';
import { CdkScrollable } from '@angular/cdk/scrolling';
import { AfterContentChecked, AfterContentInit, ApplicationRef, ComponentFactoryResolver, ElementRef, EventEmitter, Injector, OnDestroy, OnInit, QueryList, TemplateRef } from '@angular/core';
import { Subject } from 'rxjs';
import { AnchorComponent } from './anchor.component';
import * as i0 from "@angular/core";
export declare class AnchorDirectiveChild {
    protected injector: Injector;
    readonly parent: AnchorDirective;
    constructor(injector: Injector);
    static ɵfac: i0.ɵɵFactoryDeclaration<AnchorDirectiveChild, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<AnchorDirectiveChild, never, never, {}, {}, never, never, true, never>;
}
export declare class AnchorLabelDirective extends AnchorDirectiveChild implements OnInit, AfterContentChecked {
    protected injector: Injector;
    readonly elRef: ElementRef<HTMLElement>;
    get label(): string | TemplateRef<unknown>;
    set label(value: string | TemplateRef<unknown>);
    private _label;
    labelContext: unknown;
    get target(): HTMLElement;
    set id(id: string);
    get id(): string;
    private _id;
    set level(value: number | '');
    get level(): number | "";
    private _level;
    labelChange: EventEmitter<string | TemplateRef<unknown>>;
    constructor(injector: Injector, elRef: ElementRef<HTMLElement>);
    ngOnInit(): void;
    ngAfterContentChecked(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AnchorLabelDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<AnchorLabelDirective, "[auiAnchorLabel]", never, { "label": { "alias": "auiAnchorLabel"; "required": false; }; "labelContext": { "alias": "auiAnchorLabelContext"; "required": false; }; "id": { "alias": "id"; "required": false; }; "level": { "alias": "level"; "required": false; }; }, { "labelChange": "labelChange"; }, never, never, true, never>;
}
export declare class AnchorDirective implements AfterContentInit, OnDestroy {
    private readonly cfr;
    private readonly appRef;
    private readonly injector;
    readonly elRef: ElementRef<HTMLElement>;
    private readonly cdkScrollable;
    auiAnchor: HTMLElement | '';
    adaptPosition: boolean;
    padding: number;
    minTop: number;
    injectId: boolean;
    anchorLabels: QueryList<AnchorLabelDirective>;
    get containerEl(): HTMLElement;
    get scrollableEl(): HTMLElement | (Window & typeof globalThis);
    anchorPortal: ComponentPortal<AnchorComponent>;
    destroy$$: Subject<void>;
    constructor(cfr: ComponentFactoryResolver, appRef: ApplicationRef, injector: Injector, elRef: ElementRef<HTMLElement>, cdkScrollable: CdkScrollable);
    ngAfterContentInit(): void;
    ngOnDestroy(): void;
    adaptAnchorPosition(containerEl: HTMLElement, anchorEl: HTMLElement): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AnchorDirective, [null, null, null, null, { optional: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<AnchorDirective, "[auiAnchor]", never, { "auiAnchor": { "alias": "auiAnchor"; "required": false; }; "adaptPosition": { "alias": "adaptPosition"; "required": false; }; "padding": { "alias": "padding"; "required": false; }; "minTop": { "alias": "minTop"; "required": false; }; "injectId": { "alias": "injectId"; "required": false; }; }, {}, ["anchorLabels"], never, true, never>;
}
