import * as i0 from '@angular/core';
import { OnInit, ElementRef, Renderer2, OnChanges, SimpleChanges, TemplateRef } from '@angular/core';

declare class SdScrollDirective implements OnInit {
    #private;
    private elementRef;
    private renderer;
    onMouseOver(): void;
    onMouseOut(): void;
    constructor(elementRef: ElementRef, renderer: Renderer2);
    ngOnInit(): void;
    scrollTop: () => void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SdScrollDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<SdScrollDirective, "[sdScroll]", never, {}, {}, never, never, true, never>;
}

declare class SdDesktopDirective {
    #private;
    constructor();
    static ɵfac: i0.ɵɵFactoryDeclaration<SdDesktopDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<SdDesktopDirective, "[sdDesktop]", never, {}, {}, never, never, true, never>;
}

declare class SdMobileDirective {
    #private;
    constructor();
    static ɵfac: i0.ɵɵFactoryDeclaration<SdMobileDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<SdMobileDirective, "[sdMobile]", never, {}, {}, never, never, true, never>;
}

declare class SdHoverCopyDirective implements OnInit, OnChanges {
    #private;
    private el;
    private renderer;
    copyText: string;
    sdHoverCopyDisabled: boolean;
    constructor(el: ElementRef, renderer: Renderer2);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    onMouseEnter(): void;
    onMouseLeave(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SdHoverCopyDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<SdHoverCopyDirective, "[sdHoverCopy]", never, { "copyText": { "alias": "sdHoverCopy"; "required": true; }; "sdHoverCopyDisabled": { "alias": "sdHoverCopyDisabled"; "required": false; }; }, {}, never, never, true, never>;
}

declare class SdHrefDirective {
    #private;
    url: string;
    get href(): string;
    onClick(event: Event): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SdHrefDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<SdHrefDirective, "a[sdHref]", never, { "url": { "alias": "sdHref"; "required": false; }; }, {}, never, never, true, never>;
}

type TooltipPosition = 'top' | 'bottom' | 'left' | 'right';
declare class SdTooltipDirective {
    #private;
    content: i0.InputSignal<string | TemplateRef<any>>;
    sdTooltipPosition: i0.InputSignal<TooltipPosition>;
    sdTooltipDelay: i0.InputSignal<number>;
    sdTooltipColor: i0.InputSignal<string>;
    private static activeTooltip;
    private readonly elementRef;
    private readonly overlay;
    private readonly viewContainerRef;
    private readonly destroyRef;
    private overlayRef;
    private tooltipComponentRef;
    private tooltipInstance;
    private showTimeout;
    private hideTimeout;
    constructor();
    onMouseEnter(): void;
    onMouseLeave(): void;
    forceHide: () => void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SdTooltipDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<SdTooltipDirective, "[sdTooltip]", never, { "content": { "alias": "sdTooltip"; "required": true; "isSignal": true; }; "sdTooltipPosition": { "alias": "sdTooltipPosition"; "required": false; "isSignal": true; }; "sdTooltipDelay": { "alias": "sdTooltipDelay"; "required": false; "isSignal": true; }; "sdTooltipColor": { "alias": "sdTooltipColor"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}

export { SdDesktopDirective, SdHoverCopyDirective, SdHrefDirective, SdMobileDirective, SdScrollDirective, SdTooltipDirective };
