import * as i0 from '@angular/core';
import { ElementRef } from '@angular/core';
import { HasElementRef } from '@fundamental-ngx/cdk/utils';

declare class LayoutPanelActionsComponent {
    static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelActionsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelActionsComponent, "fd-layout-panel-actions", never, {}, {}, never, ["*"], true, never>;
}

declare class LayoutPanelBodyComponent {
    /**
     * Whether the edges of the panel should have bleeding padding.
     * @default false
     */
    readonly bleed: i0.InputSignalWithTransform<boolean, unknown>;
    static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelBodyComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelBodyComponent, "fd-layout-panel-body", never, { "bleed": { "alias": "bleed"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
}

declare class LayoutPanelDescriptionComponent {
    static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelDescriptionComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelDescriptionComponent, "fd-layout-panel-description", never, {}, {}, never, ["*"], true, never>;
}

declare class LayoutPanelFiltersComponent {
    static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelFiltersComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelFiltersComponent, "fd-layout-panel-filters", never, {}, {}, never, ["*"], true, never>;
}

type FooterPosition = 'start' | 'end';
declare class LayoutPanelFooterComponent implements HasElementRef {
    /**
     * Footer variations, can be start (left aligned), end (right aligned) or null for default.
     * The default value will render the content of the footer in the middle.
     */
    position: i0.InputSignal<FooterPosition | null>;
    /** @hidden */
    readonly elementRef: ElementRef<any>;
    static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelFooterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelFooterComponent, "fd-layout-panel-footer", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
}

declare class LayoutPanelHeadComponent {
    static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelHeadComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelHeadComponent, "fd-layout-panel-head", never, {}, {}, never, ["*"], true, never>;
}

declare class LayoutPanelHeaderComponent {
    static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelHeaderComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelHeaderComponent, "fd-layout-panel-header", never, {}, {}, never, ["fd-layout-panel-head", "fd-layout-panel-actions"], true, never>;
}

declare class LayoutPanelTitleDirective {
    static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelTitleDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LayoutPanelTitleDirective, "[fd-layout-panel-title]", never, {}, {}, never, never, true, never>;
}

declare class LayoutPanelComponent {
    /** Background image of the panel. */
    readonly backgroundImage: i0.InputSignal<string | null | undefined>;
    /** Id for the layout panel element. */
    readonly id: i0.InputSignal<string>;
    /** Whether the background of the panel should be transparent. */
    readonly transparent: i0.InputSignalWithTransform<boolean, unknown>;
    /** @hidden */
    protected readonly backgroundImageUrl: i0.Signal<string | null>;
    static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelComponent, "fd-layout-panel", never, { "backgroundImage": { "alias": "backgroundImage"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "transparent": { "alias": "transparent"; "required": false; "isSignal": true; }; }, {}, never, ["fd-layout-panel-header", "fd-layout-panel-filters", "fd-layout-panel-body", "fd-layout-panel-footer", "*"], true, never>;
}

/**
 * @deprecated
 * Use direct imports of components and directives.
 */
declare class LayoutPanelModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<LayoutPanelModule, never, [typeof LayoutPanelComponent, typeof LayoutPanelHeaderComponent, typeof LayoutPanelHeadComponent, typeof LayoutPanelTitleDirective, typeof LayoutPanelDescriptionComponent, typeof LayoutPanelActionsComponent, typeof LayoutPanelFiltersComponent, typeof LayoutPanelBodyComponent, typeof LayoutPanelFooterComponent], [typeof LayoutPanelComponent, typeof LayoutPanelHeaderComponent, typeof LayoutPanelHeadComponent, typeof LayoutPanelTitleDirective, typeof LayoutPanelDescriptionComponent, typeof LayoutPanelActionsComponent, typeof LayoutPanelFiltersComponent, typeof LayoutPanelBodyComponent, typeof LayoutPanelFooterComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<LayoutPanelModule>;
}

export { LayoutPanelActionsComponent, LayoutPanelBodyComponent, LayoutPanelComponent, LayoutPanelDescriptionComponent, LayoutPanelFiltersComponent, LayoutPanelFooterComponent, LayoutPanelHeadComponent, LayoutPanelHeaderComponent, LayoutPanelModule, LayoutPanelTitleDirective };
export type { FooterPosition };
