import type { LitElement } from 'lit';
import type { ThemeColors } from '../tailwind-plugin-theme';
/**
 * Progress indicator colors (excludes 'ai' gradient)
 */
export type ProgressColors = Exclude<ThemeColors, 'ai'>;
/**
 * Interface for components using ProgressMixin.
 * Provides common progress indicator properties and methods.
 */
export interface ProgressMixinInterface {
    color: ProgressColors;
    thickness?: number;
    progress: number;
    label?: string;
    initialAnimation: boolean;
    ariaLabel: string | null;
    ariaLabelledBy: string | null;
    ariaValueText: string | null;
    completionAnnouncement?: string;
    /** @internal */
    _getProgressColorValue(): string;
    /** @internal */
    _getAnimatedProgress(): number;
    /** @internal */
    _setupInitialAnimation(): void;
    /** @internal */
    _cleanupInitialAnimation(): void;
    /** @internal */
    _trackCompletion(): void;
}
type Constructor<T = {}> = new (...args: any[]) => T;
/**
 * Mixin that adds common progress indicator properties.
 * Used by progress components like CircularProgress and LinearProgress.
 *
 * @mixin
 *
 * @param Base - The base class to extend
 * @returns Extended class with progress properties
 *
 * @fires {CustomEvent} btu-linear-progress-ready - Fired on btu-linear-progress after first render
 * @fires {CustomEvent} btu-linear-progress-complete - Fired on btu-linear-progress when progress reaches 100
 * @fires {CustomEvent} btu-circular-progress-ready - Fired on btu-circular-progress after first render
 * @fires {CustomEvent} btu-circular-progress-complete - Fired on btu-circular-progress when progress reaches 100
 *
 * @cssprop --progress-color - Progress indicator color (overrides theme color)
 * @cssprop --track-color - Track/background color (overrides default gray-100)
 *
 * @example
 * ```typescript
 * class MyProgress extends ProgressMixin(LitElement) {
 *   // Component now has color, size, thickness, and progress properties
 * }
 * ```
 */
export declare const ProgressMixin: <T extends Constructor<LitElement>>(Base: T) => Constructor<ProgressMixinInterface> & T;
export {};
//# sourceMappingURL=ProgressMixin.d.ts.map