import { MDCFoundation } from '@material/base'; export declare abstract class MdcComponent { root: HTMLElement; constructor(root: HTMLElement); foundation?: FoundationType; continueAttaching: boolean; initialised: Promise; protected initialisedResolve: (value?: unknown) => void; private createInitiliasedPromise; initialise(): Promise; initialSyncWithDOM(): void; attached(): Promise; destroy(): void; detached(): void; abstract getDefaultFoundation(): FoundationType; listen(evtType: string, handler: any, options?: AddEventListenerOptions | boolean): void; unlisten(evtType: string, handler: any, options?: AddEventListenerOptions | boolean): void; /** * @hidden * Fires a cross-browser-compatible custom event from the component root of the given type, with the given data. */ emit(evtType: string, evtData: T, shouldBubble?: boolean): void; }