import * as i0 from '@angular/core';
import { ElementRef, EventEmitter } from '@angular/core';
import { IgxIconComponent } from 'igniteui-angular/icon';
import { IBaseEventArgs, CancelableEventArgs, IToggleView, IBannerResourceStrings } from 'igniteui-angular/core';
import { ToggleAnimationSettings } from 'igniteui-angular/expansion-panel';
interface BannerEventArgs extends IBaseEventArgs {
event?: Event;
}
interface BannerCancelEventArgs extends BannerEventArgs, CancelableEventArgs {
}
/**
* **Ignite UI for Angular Banner** -
* [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/banner.html)
*
* The Ignite UI Banner provides a highly template-able and easy to use banner that can be shown in your application.
*
* Usage:
*
* ```html
*
* Our privacy settings have changed.
*
*
*
*
*
* ```
*/
declare class IgxBannerComponent implements IToggleView {
elementRef: ElementRef;
/**
* @hidden
*/
bannerIcon: IgxIconComponent;
/**
* Fires after the banner shows up
* ```typescript
* public handleOpened(event) {
* ...
* }
* ```
* ```html
*
* ```
*/
opened: EventEmitter;
/**
* Fires before the banner shows up
* ```typescript
* public handleOpening(event) {
* ...
* }
* ```
* ```html
*
* ```
*/
opening: EventEmitter;
/**
* Fires after the banner hides
* ```typescript
* public handleClosed(event) {
* ...
* }
* ```
* ```html
*
* ```
*/
closed: EventEmitter;
/**
* Fires before the banner hides
* ```typescript
* public handleClosing(event) {
* ...
* }
* ```
* ```html
*
* ```
*/
closing: EventEmitter;
/** @hidden */
get useDefaultTemplate(): boolean;
/**
* Set the animation settings used by the banner open/close methods
* ```typescript
* import { slideInLeft, slideOutRight } from 'igniteui-angular';
* ...
* banner.animationSettings: ToggleAnimationSettings = { openAnimation: slideInLeft, closeAnimation: slideOutRight };
* ```
*/
set animationSettings(settings: ToggleAnimationSettings);
/**
* Get the animation settings used by the banner open/close methods
* ```typescript
* let currentAnimations: ToggleAnimationSettings = banner.animationSettings
* ```
*/
get animationSettings(): ToggleAnimationSettings;
/**
* Gets/Sets the resource strings.
*
* @remarks
* By default it uses EN resources.
*/
set resourceStrings(value: IBannerResourceStrings);
get resourceStrings(): IBannerResourceStrings;
/**
* Gets/Sets whether the banner is expanded (visible) or collapsed (hidden).
* Defaults to `false`.
* Setting to `true` opens the banner, while `false` closes it.
*
* @example
* // Expand the banner
* banner.expanded = true;
*
* @example
* // Collapse the banner
* banner.expanded = false;
*
* @example
* // Check if the banner is expanded
* const isExpanded = banner.expanded;
*/
get expanded(): boolean;
set expanded(value: boolean);
/**
* Gets whether the banner is collapsed.
*
* ```typescript
* const isCollapsed: boolean = banner.collapsed;
* ```
*/
get collapsed(): boolean;
/**
* Returns the native element of the banner component
* ```typescript
* const myBannerElement: HTMLElement = banner.element;
* ```
*/
get element(): HTMLElement;
cssClass: string;
/**
* @hidden
*/
get displayStyle(): string;
private _expansionPanel;
private _bannerActionTemplate;
private _expanded;
private _shouldFireEvent;
private _bannerEvent;
private _animationSettings;
private _resourceStrings;
/**
* Opens the banner
*
* ```typescript
* myBanner.open();
* ```
*
* ```html
*
* ...
*
*
* ```
*/
open(event?: Event): void;
/**
* Closes the banner
*
* ```typescript
* myBanner.close();
* ```
*
* ```html
*
* ...
*
*
* ```
*/
close(event?: Event): void;
/**
* Toggles the banner
*
* ```typescript
* myBanner.toggle();
* ```
*
* ```html
*
* ...
*
*
* ```
*/
toggle(event?: Event): void;
/** @hidden */
onExpansionPanelOpen(): void;
/** @hidden */
onExpansionPanelClose(): void;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}
declare class IgxBannerActionsDirective {
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵdir: i0.ɵɵDirectiveDeclaration;
}
declare const IGX_BANNER_DIRECTIVES: readonly [typeof IgxBannerComponent, typeof IgxBannerActionsDirective];
/**
* @hidden
* IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
*/
declare class IgxBannerModule {
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵmod: i0.ɵɵNgModuleDeclaration;
static ɵinj: i0.ɵɵInjectorDeclaration;
}
export { IGX_BANNER_DIRECTIVES, IgxBannerActionsDirective, IgxBannerComponent, IgxBannerModule };
export type { BannerCancelEventArgs, BannerEventArgs };