import { LitElement } from 'lit';
import { PopupPlacement, Size } from '../../common/types';
type Constructor<T = Record<string, unknown>> = {
    new (...args: any[]): T;
    prototype: T;
};
export interface LabelableElementInterface {
    label?: string;
    hideLabel: boolean;
    description?: string;
    tooltip?: string;
    tooltipPlacement: PopupPlacement;
    size: Size;
    required: boolean;
    requiredLabel: string;
    disabled: boolean;
    optional: boolean;
    optionalLabel: string;
    subtle: boolean;
    tooltipAriaLabel: string;
    renderLabel(id?: string, content?: unknown): unknown;
}
export declare const LabelableMixin: <T extends Constructor<LitElement>>(base: T) => Constructor<LabelableElementInterface> & T;
export {};
