import { ComponentType } from '@angular/cdk/portal';
import { TemplateRef } from '@angular/core';
import { MatDialogConfig } from '@angular/material/dialog';
import { SafeResourceUrl } from '@angular/platform-browser';
import { BehaviorSubject } from 'rxjs';
import { DejaPopupAction } from './popup-action.model';
export declare class DejaPopupConfig<D> extends MatDialogConfig<D> {
    static dialogCount: number;
    readonly positionStart: {
        top: number;
        left: number;
    };
    readonly dimensionDefault: {
        width: string;
        height: string;
    };
    dejaPopupCom$?: BehaviorSubject<DejaPopupAction>;
    actionComponentRef: ComponentType<unknown>;
    contentComponentRef: ComponentType<unknown>;
    contentTemplate: DejaPopupContentTemplate<unknown>;
    actions: DejaPopupAction[];
    autoFocus: boolean;
    autoposition?: boolean;
    content?: string | string[];
    data?: D;
    dialogPanelId: string;
    fullscreen: boolean;
    availableInTray: boolean;
    maxWidth: string;
    maxHeight: string;
    padding?: boolean;
    shareActions: boolean;
    title?: string;
    toolbarActions?: DejaPopupAction[];
    toolbarColor?: DialogToolbarColor;
    toolbarIconName?: string;
    toolbarType?: DialogToolbarType;
    url?: string | SafeResourceUrl;
    buttonFullscreenExit?: boolean;
    constructor();
    ensureDimension(): void;
    setDefaultWidth(): void;
    setDefaultHeight(): void;
    getDefaultPosition(): {
        top: string;
        left: string;
    };
    getMatDialogConfig(): MatDialogConfig;
    addPanelClass(panelClass: string): void;
    hasContent(): boolean;
    hasActions(): boolean;
    ensurePosition(): boolean;
    private createIds;
}
export declare type DialogToolbarType = 'base' | 'window';
export declare type DialogToolbarColor = null | 'primary' | 'accent' | 'warn' | 'danger';
export interface DejaPopupContentTemplate<T> {
    templateRef: TemplateRef<T>;
    templateContext?: unknown;
}
