import { LitElement } from 'lit';
declare const BaseFab_base: Omit<typeof LitElement, "prototype"> & (new () => LitElement & object & import("../../../utils/behaviors/element-internals").WithElementInternals & import("../../ripple/ripple-options.mixin").IMixinRippleOptions & import("../../ripple/ripple-options.mixin").IMixinRippleAttributes & import("../../elevation/elevation-options.mixin").IMixinElevationOptions & import("../../focus-ring/focus-ring-options.mixin").IMixinFocusRingOption);
/**
 * Fab components provide an icon.
 *
 * @see
 * The fab component is the simplest button. Do not use the fab component in the form.
 *
 * Available in 6 variants:
 * - variant="primary"
 * - variant="secondary"
 * - variant="tertiary"
 * - variant="tonal-primary"
 * - variant="tonal-secondary" (default)
 * - variant="tonal-tertiary"
 *
 * The fab component is available in 3 sizes:
 * - size="small" (default)
 * - size="medium"
 * - size="large"
 *
 * @version
 * Material Design 3 - Expressive
 *
 * @link
 * https://m3.material.io/components/floating-action-button/overview
 */
export declare abstract class BaseFab extends BaseFab_base {
    protected buttonElement: HTMLElement | null;
    get focusRingControl(): HTMLElement | null;
    protected isOpen: boolean;
    private generation;
    get open(): boolean;
    set open(value: boolean);
    variant: 'primary' | 'secondary' | 'tertiary' | 'tonal-primary' | 'tonal-secondary' | 'tonal-tertiary';
    size: 'small' | 'medium' | 'large';
    private hasIcon;
    protected animationAbort: AbortController | null;
    protected getRenderClasses(): {
        [x: string]: boolean;
        'has-icon': boolean;
    };
    constructor();
    protected render(): unknown;
    protected renderIcon(): import("lit-html").TemplateResult<1>;
    private handleClick;
    private handleIconSlotChange;
    private animateButton;
    show(): Promise<void>;
    close(): Promise<void>;
    private isConnectedPromiseResolve;
    private isConnectedPromise;
    private getIsConnectedPromise;
    connectedCallback(): void;
    disconnectedCallback(): void;
}
export {};
//# sourceMappingURL=base-fab.d.ts.map