import MaterialComponent from '../MaterialComponent'; import {VNode, PreactHTMLAttributes} from 'preact'; import Button from '../Button'; import {MDCFoundation, MDCComponent} from '../MaterialComponentsWeb'; import {Omit} from '../libs'; declare interface IDialogProps extends JSX.HTMLAttributes { onAccept?: (e: Event) => void; onCancel?: (e: Event) => void; } export default class Dialog extends MaterialComponent { static Header: typeof Header; static Body: typeof Body; static Footer: typeof Footer; static FooterButton: typeof FooterButton; MDComponent: MDCDialog; } declare class Header extends MaterialComponent {} declare interface IBodyProps extends JSX.HTMLAttributes { scrollable?: boolean; } declare class Body extends MaterialComponent {} declare class Footer extends MaterialComponent {} declare interface IFooterButtonProps extends Omit { accept?: boolean; cancel?: boolean; } declare class FooterButton extends Button {} declare class MDCDialogFoundation extends MDCFoundation { open(): void; close(): void; isOpen(): boolean; accept(shouldNotify: boolean): void; cancel(shouldNotify: boolean): void; } declare class MDCDialog extends MDCComponent { open(): boolean; show(): void; close(): void; }