import * as _angular_core from '@angular/core';
import { OnDestroy, OnInit, InjectionToken, Provider } from '@angular/core';

type NgxFixedFooterCssAttribute = 'padding' | 'margin';
interface NgxFixedFooterOptions {
    cssAttribute: NgxFixedFooterCssAttribute;
    containerSelector: string;
}

declare const DEFAULT_CSS_ATTRIBUTE = "padding";
declare const DEFAULT_CONTAINER_SELECTOR = "[role=\"main\"]";
declare const DEFAULT_FIXED_FOOTER_OPTIONS: NgxFixedFooterOptions;

declare class NgxFixedFooterDirective implements OnDestroy, OnInit {
    private readonly document;
    private readonly el;
    private readonly render;
    private options;
    private readonly hasResizeObserver;
    private resizeObserver?;
    private offsetHeight;
    private prevContainerSelector;
    containerSelector: _angular_core.InputSignal<string>;
    cssAttribute: _angular_core.InputSignal<NgxFixedFooterCssAttribute>;
    private container;
    constructor();
    ngOnInit(): void;
    ngOnDestroy(): void;
    private checkHeight;
    private removeStyle;
    private setStyle;
    private get html();
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgxFixedFooterDirective, never>;
    static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgxFixedFooterDirective, "[ngxFixedFooter]", never, { "containerSelector": { "alias": "containerSelector"; "required": false; "isSignal": true; }; "cssAttribute": { "alias": "cssAttribute"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}

declare const APP_FIXED_FOOTER_OPTIONS_TOKEN: InjectionToken<NgxFixedFooterOptions>;
declare const provideFixedFooter: (options: Partial<NgxFixedFooterOptions>) => Provider;

export { APP_FIXED_FOOTER_OPTIONS_TOKEN, DEFAULT_CONTAINER_SELECTOR, DEFAULT_CSS_ATTRIBUTE, DEFAULT_FIXED_FOOTER_OPTIONS, NgxFixedFooterDirective, provideFixedFooter };
export type { NgxFixedFooterCssAttribute, NgxFixedFooterOptions };
