import * as i0 from '@angular/core';
import { OnInit, ElementRef, Renderer2, TemplateRef, EventEmitter, QueryList, AfterContentInit, AfterViewInit, DoCheck, OnDestroy, Signal, DestroyRef, InjectionToken } from '@angular/core';
import { Nullable, HasElementRef } from '@fundamental-ngx/cdk/utils';
import { DynamicPageTitleDirectiveContext, DynamicPage } from '@fundamental-ngx/core/dynamic-page';
import { DynamicPageHeader, TabList, HeadingLevel } from '@fundamental-ngx/core/shared';
import { IconTabBarTabComponent, IconTabBarItem } from '@fundamental-ngx/platform/icon-tab-bar';
import { BaseComponent, PlatformConfig } from '@fundamental-ngx/platform/shared';

declare const CLASS_NAME: {
    readonly dynamicPage: "fd-dynamic-page";
    readonly dynamicPageTitleArea: "fd-dynamic-page__title-area";
    readonly dynamicPageMainContainer: "fd-dynamic-page__main-container";
    readonly dynamicPageBreadcrumbTitleContainer: "fd-dynamic-page__breadcrumb-title-container";
    readonly dynamicPageTitleAreaTransparentBg: "fd-dynamic-page__title-area--transparent-bg";
    readonly dynamicPageTitleAreaCollapsed: "fd-dynamic-page__title-area--collapsed";
    readonly dynamicPageTitleContainer: "fd-dynamic-page__title-container";
    readonly dynamicPageTitle: "fd-dynamic-page__title";
    readonly dynamicPageTitleMedium: "fd-dynamic-page__title--md";
    readonly dynamicPageBreadcrumb: "fd-dynamic-page__breadcrumb";
    readonly dynamicPageKeyInfo: "fd-dynamic-page__title-content";
    readonly dynamicPageGlobalActions: "fd-dynamic-page__toolbar";
    readonly dynamicPageLayoutActions: "fd-dynamic-page__toolbar-actions";
    readonly dynamicPageActionsContainer: "fd-dynamic-page__actions-container";
    readonly dynamicPageHeader: "fd-dynamic-page__header";
    readonly dynamicPageCollapsibleHeader: "fd-dynamic-page__collapsible-header";
    readonly dynamicPageCollapsibleHeaderTransparentBg: "fd-dynamic-page__collapsible-header--transparent-bg";
    readonly dynamicPageCollapsibleHeaderSmall: "fd-dynamic-page__collapsible-header--sm";
    readonly dynamicPageCollapsibleHeaderMedium: "fd-dynamic-page__collapsible-header--md";
    readonly dynamicPageCollapsibleHeaderLarge: "fd-dynamic-page__collapsible-header--lg";
    readonly dynamicPageCollapsibleHeaderExtraLarge: "fd-dynamic-page__collapsible-header--xl";
    readonly dynamicPageCollapsibleHeaderPinCollapseNoShadow: "fd-dynamic-page__collapsible-header-visibility-container--no-shadow";
    readonly dynamicPageTabs: "fd-dynamic-page__tabs";
    readonly dynamicPageTabsAddShadow: "fd-dynamic-page__tabs--add-shadow";
    readonly dynamicPageTabsSmall: "fd-dynamic-page__tabs--sm";
    readonly dynamicPageTabsMedium: "fd-dynamic-page__tabs--md";
    readonly dynamicPageTabsLarge: "fd-dynamic-page__tabs--lg";
    readonly dynamicPageTabsExtraLarge: "fd-dynamic-page__tabs--xl";
    readonly dynamicPageContent: "fd-dynamic-page__content";
    readonly dynamicPageContentAreaSmall: "fd-dynamic-page__content--sm";
    readonly dynamicPageContentAreaMedium: "fd-dynamic-page__content--md";
    readonly dynamicPageContentAreaLarge: "fd-dynamic-page__content--lg";
    readonly dynamicPageContentAreaExtraLarge: "fd-dynamic-page__content--xl";
    readonly dynamicPageContentListBg: "fd-dynamic-page__content--list-bg";
    readonly dynamicPageContentTransparentBg: "fd-dynamic-page__content--transparent-bg";
    readonly dynamicPageSummarizedTitleArea: "fd-dynamic-page__summarized-title-area";
    readonly dynamicPageSummarizedTitleAreaSmall: "fd-dynamic-page__summarized-title-area--sm";
    readonly dynamicPageSummarizedTitleAreaMedium: "fd-dynamic-page__summarized-title-area--md";
    readonly dynamicPageSummarizedTitleAreaLarge: "fd-dynamic-page__summarized-title-area--lg";
    readonly dynamicPageSummarizedTitleAreaExtraLarge: "fd-dynamic-page__summarized-title-area";
    readonly dynamicPageSummarizedTitleAreaNoShadow: "fd-dynamic-page__summarized-title-area--no-shadow";
    readonly dynamicPageSummarizedTitle: "fd-dynamic-page__summarized-title";
    readonly dynamicPageSummarizedTitleCollapsed: "fd-dynamic-page__summarized-title-area--collapsed";
};
type DynamicPageBackgroundType = 'solid' | 'list' | 'transparent';
type DynamicPageResponsiveSize = 'small' | 'medium' | 'large' | 'extra-large';

/**
 * Dynamic Page Content Host Component.
 *
 * Adds some styles to host element.
 * For internal usage only.
 *
 */
declare class DynamicPageContentHostComponent implements OnInit {
    readonly elementRef: ElementRef<HTMLElement>;
    protected _renderer: Renderer2;
    /**
     * a unique identifier for this content
     */
    id: string;
    /**
     * sets background for content to `list`, `transparent`, or `solid` background color.
     * Default is `solid`.
     */
    set background(backgroundType: DynamicPageBackgroundType);
    get background(): DynamicPageBackgroundType;
    /**
     * sets size which in turn adds corresponding padding for the size type.
     * size can be `small`, `medium`, `large`, or `extra-large`.
     */
    set size(sizeType: DynamicPageResponsiveSize);
    get size(): DynamicPageResponsiveSize;
    /**
     * @hidden
     * tracking the background value
     */
    private _background;
    /**
     * @hidden
     * tracks the size for responsive padding
     */
    private _size;
    /** @hidden */
    constructor(elementRef: ElementRef<HTMLElement>, _renderer: Renderer2);
    /** @hidden */
    ngOnInit(): void;
    /**
     * @hidden
     * sets the style classes for background property
     * @param background
     */
    private _setBackgroundStyles;
    /**
     * @hidden
     * sets the padding classes
     * @param sizeType
     */
    private _setSize;
    /** @hidden */
    private _removeClassNameToHostElement;
    /** @hidden */
    private _addClassNameToHostElement;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicPageContentHostComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DynamicPageContentHostComponent, "fdp-dynamic-page-content-host", never, { "id": { "alias": "id"; "required": false; }; "background": { "alias": "background"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, ["*"], true, never>;
}

/**
 * Dynamic Page Content Component.
 *
 */
declare class DynamicPageContentComponent {
    readonly elementRef: ElementRef<HTMLElement>;
    /**
     * label for the tab. If label is provided, tab navigation will be internally set up.
     */
    tabLabel: string;
    /**
     * a unique identifier for this content
     */
    id: string;
    /**
     * sets background for content to `list`, `transparent`, or `solid` background color.
     * Default is `solid`.
     */
    background: DynamicPageBackgroundType;
    /**
     * sets size which in turn adds corresponding padding for the size type.
     * size can be `small`, `medium`, `large`, or `extra-large`.
     */
    size: DynamicPageResponsiveSize;
    /**
     * @hidden
     * The component view is wrapped in ng-template so
     * component's consumer have to use this templateRef to render it
     * in its view.
     *
     * The template reference to the component view.
     */
    contentTemplateRef: TemplateRef<any>;
    /** @hidden */
    constructor(elementRef: ElementRef<HTMLElement>);
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicPageContentComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DynamicPageContentComponent, "fdp-dynamic-page-content", never, { "tabLabel": { "alias": "tabLabel"; "required": false; }; "id": { "alias": "id"; "required": false; }; "background": { "alias": "background"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, ["*"], true, never>;
}

declare class DynamicPageFooterComponent {
    /**
     * @hidden
     * The component view is wrapped in ng-template so
     * component's consumer have to use this templateRef to render it
     * in its view.
     *
     * The template reference to the component view.
     */
    contentTemplateRef: TemplateRef<any>;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicPageFooterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DynamicPageFooterComponent, "fdp-dynamic-page-footer", never, {}, {}, never, ["*"], true, never>;
}

/** Dynamic Page collapse change event */
declare class DynamicPageCollapseChangeEvent {
    source: DynamicPageHeaderComponent;
    payload: boolean;
    /**
     * Dynamic Page collapse change event
     * @param source Dynamic Page component
     * @param payload Collapse state
     */
    constructor(source: DynamicPageHeaderComponent, payload: boolean);
}
/**
 * Dynamic Page Header Component.
 *
 * This component is part of Public API
 * used by supplier to declare inputs and template
 *
 */
declare class DynamicPageHeaderComponent {
    /**
     * whether the header can be collapsed. True by default. If set to false, both pin/collapse buttons disappear
     * and the header stays visible
     */
    collapsible: boolean;
    /**
     * whether the header should be allowed to be pinned or unpinned. When set, the pin button shows up.
     * Pinning the header will make the header stay visible and the collapse button(if present) will disappear until unpinned.
     */
    pinnable: boolean;
    /**
     * the initial state of the header. Set to true if header should be collapsed.
     */
    collapsed: boolean;
    /**
     * ARIA label for button when the header is collapsed
     */
    expandLabel: string;
    /**
     * ARIA label for button when the header is expanded
     */
    collapseLabel: string;
    /** Header role  */
    role: string;
    /**
     * id for header
     */
    id: string;
    /**
     * aria label for header
     */
    headerAriaLabel: Nullable<string>;
    /**
     * aria label for pin state of pin button
     */
    pinAriaLabel: string;
    /**
     * aria label for unpin state of pin button
     */
    unpinAriaLabel: string;
    /**
     * sets background for content to `list`, `transparent`, or `solid` background color.
     * Default is `solid`.
     */
    background: DynamicPageBackgroundType;
    /**
     * sets size which in turn adds corresponding padding for the size type.
     * size can be `small`, `medium`, `large`, or `extra-large`.
     */
    size: DynamicPageResponsiveSize;
    /** Collapse/Expand change event raised */
    collapsedChange: EventEmitter<DynamicPageCollapseChangeEvent>;
    /**
     * @hidden
     * The component view is wrapped in ng-template so
     * component's consumer have to use this templateRef to render it
     * in its view.
     *
     * The template reference to the component view.
     */
    contentTemplateRef: TemplateRef<any>;
    /**
     * @hidden
     * Delegate collapse change event
     */
    _onCollapseChange(collapsed: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicPageHeaderComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DynamicPageHeaderComponent, "fdp-dynamic-page-header", never, { "collapsible": { "alias": "collapsible"; "required": false; }; "pinnable": { "alias": "pinnable"; "required": false; }; "collapsed": { "alias": "collapsed"; "required": false; }; "expandLabel": { "alias": "expandLabel"; "required": false; }; "collapseLabel": { "alias": "collapseLabel"; "required": false; }; "role": { "alias": "role"; "required": false; }; "id": { "alias": "id"; "required": false; }; "headerAriaLabel": { "alias": "headerAriaLabel"; "required": false; }; "pinAriaLabel": { "alias": "pinAriaLabel"; "required": false; }; "unpinAriaLabel": { "alias": "unpinAriaLabel"; "required": false; }; "background": { "alias": "background"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "collapsedChange": "collapsedChange"; }, never, ["*"], true, never>;
}

declare class DynamicPageHeaderSubtitleDirective {
    /** Template reference. */
    templateRef: TemplateRef<DynamicPageTitleDirectiveContext>;
    /** @hidden */
    static ngTemplateContextGuard(dir: DynamicPageHeaderSubtitleDirective, ctx: DynamicPageTitleDirectiveContext): ctx is DynamicPageTitleDirectiveContext;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicPageHeaderSubtitleDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DynamicPageHeaderSubtitleDirective, "[fdpDynamicPageHeaderSubtitle]", never, {}, {}, never, never, true, never>;
}

declare class DynamicPageHeaderTitleDirective {
    /** Template reference. */
    templateRef: TemplateRef<DynamicPageTitleDirectiveContext>;
    /** @hidden */
    static ngTemplateContextGuard(dir: DynamicPageHeaderTitleDirective, ctx: DynamicPageTitleDirectiveContext): ctx is DynamicPageTitleDirectiveContext;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicPageHeaderTitleDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DynamicPageHeaderTitleDirective, "[fdpDynamicPageHeaderTitle]", never, {}, {}, never, never, true, never>;
}

declare class DynamicPageGlobalActionsComponent {
    /**
     * @hidden
     * The component view is wrapped in ng-template so
     * component's consumer have to use this templateRef to render it
     * in its view.
     *
     * The template reference to the component view.
     */
    contentTemplateRef: TemplateRef<any>;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicPageGlobalActionsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DynamicPageGlobalActionsComponent, "fdp-dynamic-page-global-actions", never, {}, {}, never, ["*"], true, never>;
}

declare class DynamicPageLayoutActionsComponent {
    /**
     * @hidden
     * The component view is wrapped in ng-template so
     * component's consumer have to use this templateRef to render it
     * in its view.
     *
     * The template reference to the component view.
     */
    contentTemplateRef: TemplateRef<any>;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicPageLayoutActionsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DynamicPageLayoutActionsComponent, "fdp-dynamic-page-layout-actions", never, {}, {}, never, ["*"], true, never>;
}

declare class DynamicPageBreadcrumbComponent {
    /**
     * @hidden
     * The component view is wrapped in ng-template so
     * component's consumer have to use this templateRef to render it
     * in its view.
     *
     * The template reference to the component view.
     */
    contentTemplateRef: TemplateRef<any>;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicPageBreadcrumbComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DynamicPageBreadcrumbComponent, "fdp-dynamic-page-breadcrumb", never, {}, {}, never, ["*"], true, never>;
}

declare class DynamicPageKeyInfoComponent {
    /**
     * @hidden
     * The component view is wrapped in ng-template so
     * component's consumer have to use this templateRef to render it
     * in its view.
     *
     * The template reference to the component view.
     */
    contentTemplateRef: TemplateRef<any>;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicPageKeyInfoComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DynamicPageKeyInfoComponent, "fdp-dynamic-page-key-info", never, {}, {}, never, ["*"], true, never>;
}

declare class DynamicPageTitleImageComponent {
    /**
     * @hidden
     * The component view is wrapped in ng-template so
     * component's consumer have to use this templateRef to render it
     * in its view.
     *
     * The template reference to the component view.
     */
    contentTemplateRef: TemplateRef<any>;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicPageTitleImageComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DynamicPageTitleImageComponent, "fdp-dynamic-page-title-image", never, {}, {}, never, ["*"], true, never>;
}

/**
 * Dynamic Page Title Component.
 *
 */
declare class DynamicPageTitleComponent implements DynamicPageHeader {
    /**
     * Page Title
     */
    title: string;
    /** Whether title should wrap instead of truncation. */
    titleWrap: boolean;
    /**
     * Page Subtitle
     */
    subtitle: string;
    /** Whether subtitle should wrap instead of truncation. */
    subtitleWrap: boolean;
    /**
     * sets background for content to `list`, `transparent`, or `solid` background color.
     * Default is `solid`.
     */
    background: DynamicPageBackgroundType;
    /**
     * sets size which in turn adds corresponding padding for the size type.
     * size can be `small`, `medium`, `large`, or `extra-large`.
     */
    size: DynamicPageResponsiveSize;
    /** reference to breadcrumb component */
    breadcrumbComponent: DynamicPageBreadcrumbComponent;
    /** reference to global actions component */
    globalActionsComponent: DynamicPageGlobalActionsComponent;
    /** reference to layout actions component */
    layoutActionsComponent: DynamicPageLayoutActionsComponent;
    /** reference to key-info component */
    keyInfoComponent: DynamicPageKeyInfoComponent;
    /** reference to image component */
    imageComponent: DynamicPageTitleImageComponent;
    /** @hidden */
    _titleDirective: DynamicPageHeaderTitleDirective;
    /** @hidden */
    _subtitleDirective: DynamicPageHeaderSubtitleDirective;
    /**
     * @hidden
     * The component view is wrapped in ng-template so
     * component's consumer have to use this templateRef to render it
     * in its view.
     *
     * The template reference to the component view.
     */
    contentTemplateRef: TemplateRef<any>;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicPageTitleComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DynamicPageTitleComponent, "fdp-dynamic-page-title", never, { "title": { "alias": "title"; "required": false; }; "titleWrap": { "alias": "titleWrap"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "subtitleWrap": { "alias": "subtitleWrap"; "required": false; }; "background": { "alias": "background"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, ["breadcrumbComponent", "globalActionsComponent", "layoutActionsComponent", "keyInfoComponent", "imageComponent", "_titleDirective", "_subtitleDirective"], ["*"], true, never>;
}

interface PlatformDynamicPage extends DynamicPage {
    stackContent: boolean;
    tabChange: EventEmitter<DynamicPageTabChangeEvent>;
    titleComponent: DynamicPageTitleComponent;
    headerComponent: DynamicPageHeaderComponent;
    footerComponent: DynamicPageFooterComponent;
    contentComponent: DynamicPageContentComponent;
    contentComponents: QueryList<DynamicPageContentComponent>;
    dynamicPageTabs: QueryList<IconTabBarTabComponent>;
    /**
     * marks the dynamic page tab as selected when the id of the tab is passed
     */
    setSelectedTab(id: string): void;
}

/** Dynamic Page tab change event */
declare class DynamicPageTabChangeEvent {
    source: DynamicPageContentComponent;
    payload: IconTabBarItem;
    /**
     * Dynamic Page tab change event
     * @param source Dynamic Page component
     * @param payload Tab component
     */
    constructor(source: DynamicPageContentComponent, payload: IconTabBarItem);
}
declare class DynamicPageComponent extends BaseComponent implements AfterContentInit, AfterViewInit, DoCheck, OnDestroy, PlatformDynamicPage, HasElementRef {
    /** Whether DynamicPage should snap on scroll */
    disableSnapOnScroll: boolean;
    /** Page role  */
    role: string;
    /** Whether or not tabs should be stacked. */
    stackContent: boolean;
    /**
     * sets background for content to `list`, `transparent`, or `solid` background color.
     * Default is `solid`.
     */
    background: DynamicPageBackgroundType;
    /**
     * sets size which in turn adds corresponding padding for the size type.
     * size can be `small`, `medium`, `large`, or `extra-large`.
     */
    size: DynamicPageResponsiveSize;
    /**
     * provided offset in px
     * Should be added, when there is something else at the bottom and dynamic page is not expanded to bottom's corners
     */
    offset: number;
    /** Whether DynamicPage should have responsive sides spacing changing with Page window width.
     * max-width: 599px                         - small
     * min-width: 600px and max-width: 1023px   - medium
     * min-width: 1024px and max-width: 1439px  - large
     * min-width: 1440px                        - extra large
     */
    autoResponsive: boolean;
    /**
     * Whether dynamic page should be expanded in whole page.
     */
    expandContent: boolean;
    /**
     * Tab Change event
     */
    tabChange: EventEmitter<DynamicPageTabChangeEvent>;
    /** reference to title component  */
    titleComponent: DynamicPageTitleComponent;
    /** reference to header component  */
    headerComponent: DynamicPageHeaderComponent;
    /** reference to footer component  */
    footerComponent: DynamicPageFooterComponent;
    /** reference to content component  */
    contentComponent: DynamicPageContentComponent;
    /** reference to content components list */
    contentComponents: QueryList<DynamicPageContentComponent>;
    /** @hidden */
    _dynamicPageComponent: DynamicPage;
    /** @hidden */
    _tabListComponent: TabList;
    /** Reference to tab items components */
    dynamicPageTabs: QueryList<IconTabBarTabComponent>;
    /** @hidden */
    _contentHostComponents: QueryList<DynamicPageContentHostComponent>;
    /** Whether Dynamic page is collapsed */
    collapsed: Signal<boolean>;
    /**
     * @hidden
     * whether tabbed content is present in this page
     */
    _isTabbed: boolean;
    /**
     * @hidden
     * holds the tab content
     */
    _tabs: DynamicPageContentComponent[];
    /**
     * Heading level of the dynamic page header title.
     */
    headingLevel: i0.InputSignal<HeadingLevel>;
    /** @hidden */
    _headingLevel: Signal<number>;
    /** @hidden */
    readonly elementRef: ElementRef<HTMLElement>;
    /** @hidden */
    protected _destroyRef: DestroyRef;
    /** toggle the visibility of the header on click of title area. */
    toggleCollapse(): void;
    /** Triggers recheck for spacing and sizing of elements inside DynamicPage. */
    refreshSize(): void;
    /** @hidden */
    ngAfterContentInit(): void;
    /** @hidden */
    ngAfterViewInit(): void;
    /** @hidden */
    ngDoCheck(): void;
    /**
     * marks the dynamic page tab as selected when the id of the tab is passed
     */
    setSelectedTab(id: string): void;
    /** @hidden */
    _onSelectedTabChange(event: IconTabBarItem): void;
    /** @hidden */
    private _listenToContentComponentsListChanges;
    /** @hidden */
    private _createContentTabs;
    /** @hidden */
    private _isTabContentPresent;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicPageComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DynamicPageComponent, "fdp-dynamic-page", never, { "disableSnapOnScroll": { "alias": "disableSnapOnScroll"; "required": false; }; "role": { "alias": "role"; "required": false; }; "stackContent": { "alias": "stackContent"; "required": false; }; "background": { "alias": "background"; "required": false; }; "size": { "alias": "size"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; "autoResponsive": { "alias": "autoResponsive"; "required": false; }; "expandContent": { "alias": "expandContent"; "required": false; }; "headingLevel": { "alias": "headingLevel"; "required": false; "isSignal": true; }; }, { "tabChange": "tabChange"; }, ["titleComponent", "headerComponent", "footerComponent", "contentComponent", "contentComponents"], never, true, never>;
}

/**
 * Default options for platform dynamic-page
 * @deprecated use i18n coreDynamicPage key instead
 */
declare class DynamicPageConfig extends PlatformConfig {
    /**
     * aria label for expand/collapse button when the Dynamic Page is collapsed
     */
    expandLabel: string;
    /**
     * aria label for expand/collapse button when the Dynamic Page is expanded
     */
    collapseLabel: string;
    /**
     * aria label for pin button when the Dynamic Page should be pinned
     */
    pinLabel: string;
    /**
     * aria label for pin button when the Panel should be unpinned
     */
    unpinLabel: string;
    /** @hidden */
    constructor(platformConfig: PlatformConfig);
    /**
     * Create Provider factory function
     */
    static createProviderFactory(obj: Partial<DynamicPageConfig>): (platformConfig: PlatformConfig) => DynamicPageConfig;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicPageConfig, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DynamicPageConfig>;
}

declare class PlatformDynamicPageModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<PlatformDynamicPageModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<PlatformDynamicPageModule, never, [typeof DynamicPageComponent, typeof DynamicPageTitleComponent, typeof DynamicPageKeyInfoComponent, typeof DynamicPageBreadcrumbComponent, typeof DynamicPageGlobalActionsComponent, typeof DynamicPageLayoutActionsComponent, typeof DynamicPageHeaderComponent, typeof DynamicPageContentComponent, typeof DynamicPageFooterComponent, typeof DynamicPageTitleImageComponent, typeof DynamicPageHeaderSubtitleDirective, typeof DynamicPageHeaderTitleDirective], [typeof DynamicPageComponent, typeof DynamicPageTitleComponent, typeof DynamicPageKeyInfoComponent, typeof DynamicPageBreadcrumbComponent, typeof DynamicPageGlobalActionsComponent, typeof DynamicPageLayoutActionsComponent, typeof DynamicPageHeaderComponent, typeof DynamicPageContentComponent, typeof DynamicPageFooterComponent, typeof DynamicPageTitleImageComponent, typeof DynamicPageHeaderSubtitleDirective, typeof DynamicPageHeaderTitleDirective]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<PlatformDynamicPageModule>;
}

declare const addClassNameToElement: (renderer: Renderer2, element: Element, className: string) => void;
declare const removeClassNameFromElement: (renderer: Renderer2, element: Element, className: string) => void;

declare const FDP_DYNAMIC_PAGE: InjectionToken<PlatformDynamicPage>;

export { CLASS_NAME, DynamicPageBreadcrumbComponent, DynamicPageCollapseChangeEvent, DynamicPageComponent, DynamicPageConfig, DynamicPageContentComponent, DynamicPageContentHostComponent, DynamicPageFooterComponent, DynamicPageGlobalActionsComponent, DynamicPageHeaderComponent, DynamicPageHeaderSubtitleDirective, DynamicPageHeaderTitleDirective, DynamicPageKeyInfoComponent, DynamicPageLayoutActionsComponent, DynamicPageTabChangeEvent, DynamicPageTitleComponent, DynamicPageTitleImageComponent, FDP_DYNAMIC_PAGE, PlatformDynamicPageModule, addClassNameToElement, removeClassNameFromElement };
export type { DynamicPageBackgroundType, DynamicPageResponsiveSize, PlatformDynamicPage };
