import { MDCFoundation } from '@material/base'; import { SpecificEventListener } from '@material/base/types'; import React from 'react'; export declare class FoundationElement { private _classes; private _events; private _style; private _props; _onChange: (() => void) | null; constructor(onChange: () => void); onChange(): void; destroy(): void; /************************************************** * Classes **************************************************/ addClass(className: string): void; removeClass(className: string): void; hasClass(className: string): boolean; /************************************************** * Props **************************************************/ setProp(propName: keyof Props, value: any, silent?: boolean): void; getProp(propName: keyof Props): Partial[keyof Props]; removeProp(propName: keyof Props): void; props(propsToMerge: { [key: string]: any; }): any; /************************************************** * Styles **************************************************/ setStyle(propertyName: string, value: number | string | null): void; /************************************************** * Events **************************************************/ addEventListener(evtName: string, callback: SpecificEventListener): void; removeEventListener(evtName: string, callback: SpecificEventListener): void; /************************************************** * Refs **************************************************/ readonly reactRef: React.RefObject; get ref(): ElementType | null; } export declare const useFoundation: , Elements extends { [key: string]: true; }, Api extends (params: { [key in keyof Elements]: FoundationElement; } & { foundation: any; }) => any, Props extends { [key: string]: any; foundationRef?: React.Ref | undefined; apiRef?: ((ref: ReturnType | null) => void) | undefined; }>({ foundation: foundationFactory, props: inputProps, elements: elementsInput, api }: { foundation: (elements: { [key_1 in keyof Elements]: FoundationElement; } & { getProps: () => Props; emit: (evtType: string, evtData: T, shouldBubble?: boolean) => CustomEvent; }) => Foundation; props: Props; elements: Elements; api?: Api | undefined; }) => { foundation: Foundation; } & { [key_2 in keyof Elements]: FoundationElement; };