import { ChangeDetectorRef, EventEmitter } from '@angular/core';
import { MatSnackBar } from '@angular/material/snack-bar';
import { CdkPortalOutletAttachedRef, ComponentPortal } from '@angular/cdk/portal';
import { SettingsPage } from './settings.types';
import { AnimationEvent } from '@angular/animations';
import { Subject } from 'rxjs';
import * as i0 from "@angular/core";
export declare class SettingsComponent {
    private snackBar;
    private cdr;
    mouseDown: boolean;
    menuFocused: boolean;
    focusedItem?: number;
    defaultPage: number;
    opened: boolean;
    openedAnimation: 'opened' | 'closed';
    animationState: boolean;
    portal?: ComponentPortal<SettingsPage>;
    instance?: SettingsPage;
    private snackbarRef?;
    private canExit;
    items?: MenuItem[];
    afterClosed: EventEmitter<void>;
    onKeydownHandler(): void;
    constructor(snackBar: MatSnackBar, cdr: ChangeDetectorRef);
    stateChanged: (canExit: boolean) => void;
    open(page?: number): void;
    close(): Promise<void>;
    attached(ref: CdkPortalOutletAttachedRef): void;
    navigate(idx: number): void;
    focusPrev(): void;
    focusNext(): void;
    private hideSnackbar;
    static ɵfac: i0.ɵɵFactoryDeclaration<SettingsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SettingsComponent, "xui-settings", never, { "items": { "alias": "items"; "required": false; }; }, { "afterClosed": "afterClosed"; }, never, never, false, never>;
}
export interface MenuItem {
    type: 'category' | 'item' | 'divider';
    name?: string;
    critical?: boolean;
    component?: any;
    action?: () => void;
}
export declare class SaveResetSnackbarComponent {
    private data;
    private cdr;
    _doneAnimating: Subject<unknown>;
    animation: string;
    constructor(data: any, cdr: ChangeDetectorRef);
    close(): Promise<unknown>;
    alert(): Promise<void>;
    save: () => any;
    reset: () => any;
    _animationDone(event: AnimationEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SaveResetSnackbarComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SaveResetSnackbarComponent, "xui-settings-snackbar", never, {}, {}, never, never, false, never>;
}
