import * as i0 from '@angular/core'; import { TemplateRef, Type } from '@angular/core'; import { Observable } from 'rxjs'; import * as i2 from '@angular/common'; import * as i3 from 'tableau-ui-angular/icon'; import * as i4 from '@angular/router'; declare function injectSnackRef(): SnackRef; interface ISnackRef { closed$: Observable; close: () => void; } declare class SnackRef implements ISnackRef { private readonly _closed$; readonly closed$: Observable; private _result; close(result?: T): void; /** * Sets the result of the dialog without closing it. * This is useful for cases where you want to update the result * but keep the dialog open, such as in a form submission. * If the close() function is called with a non-undefined result, it will overwrite this value * @param result The result to set. */ setResultWithoutClosing(result?: T): void; } declare class SnackService { private readonly injector; private readonly appRef; private readonly environmentInjector; openSnack(message: string, duration?: number | undefined, type?: 'error' | 'info' | 'success', location?: 'bottom' | 'top'): SnackRef; openSnackWithAction(message: string, actionLabel: string, action: (s: SnackRef) => void, duration?: number | undefined, type?: 'error' | 'info' | 'success', location?: 'bottom' | 'top'): SnackRef; openSnackFromTemplate(template: TemplateRef, templateContext?: TContext, duration?: number | undefined, type?: 'error' | 'info' | 'success', location?: 'bottom' | 'top'): SnackRef; openSnackComponent(component: Type, data: TData, duration?: number | undefined, type?: 'error' | 'info' | 'success', location?: 'bottom' | 'top'): SnackRef; private createView; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare function injectSnackData(): T; declare class SnackComponent { protected readonly data: SnackComponentData; protected readonly snackRef: SnackRef; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "tab-snack", never, {}, {}, never, never, false, never>; } interface SnackComponentData { type: 'error' | 'info' | 'success'; message: string | undefined; actionLink?: string | undefined; action?: ((s: SnackRef) => void) | undefined; contentTemplate: TemplateRef | undefined; contentTemplateContext: TContext | undefined; } declare class TableauUiSnackModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { SnackRef, SnackService, TableauUiSnackModule, injectSnackData, injectSnackRef };