import * as _angular_core from '@angular/core';
import { ClassValue } from 'clsx';
import * as class_variance_authority_types from 'class-variance-authority/types';
import { VariantProps } from 'class-variance-authority';

type ZLoadingSpinner = 'spinner' | 'orbit' | 'matrix' | 'conic' | 'polygon' | 'triple';
type ZLoadingSize = '2xs' | 'xs' | 'default' | 'lg' | 'xl';
type ZLoadingColor = 'primary' | 'secondary' | 'white' | 'current';
type ZLoadingOverlayType = 'default' | 'dark' | 'blur';

declare class ZLoadingComponent {
    readonly class: _angular_core.InputSignal<ClassValue>;
    readonly zSpinner: _angular_core.InputSignal<ZLoadingSpinner>;
    readonly zSize: _angular_core.InputSignal<ZLoadingSize>;
    readonly zColor: _angular_core.InputSignal<ZLoadingColor>;
    readonly zText: _angular_core.InputSignal<string>;
    readonly zOverlay: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
    readonly zOverlayType: _angular_core.InputSignal<ZLoadingOverlayType>;
    readonly zFullscreen: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
    readonly zLoading: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
    protected readonly isVisible: _angular_core.WritableSignal<boolean>;
    protected readonly isLeaving: _angular_core.WritableSignal<boolean>;
    private _leaveTimeout;
    constructor();
    protected readonly spinnerClasses: _angular_core.Signal<string>;
    protected readonly baseClasses: _angular_core.Signal<string>;
    protected readonly overlayClasses: _angular_core.Signal<string>;
    protected readonly textSizeClasses: _angular_core.Signal<{
        'text-xs': boolean;
        'text-sm': boolean;
        'text-base': boolean;
        'text-lg': boolean;
    }>;
    private _handleLoadingChange;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZLoadingComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZLoadingComponent, "z-loading", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zSpinner": { "alias": "zSpinner"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zColor": { "alias": "zColor"; "required": false; "isSignal": true; }; "zText": { "alias": "zText"; "required": false; "isSignal": true; }; "zOverlay": { "alias": "zOverlay"; "required": false; "isSignal": true; }; "zOverlayType": { "alias": "zOverlayType"; "required": false; "isSignal": true; }; "zFullscreen": { "alias": "zFullscreen"; "required": false; "isSignal": true; }; "zLoading": { "alias": "zLoading"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}

declare const zLoadingVariants: (props?: ({
    zSize?: "2xs" | "xs" | "default" | "lg" | "xl" | null | undefined;
    zColor?: "primary" | "secondary" | "white" | "current" | null | undefined;
} & class_variance_authority_types.ClassProp) | undefined) => string;
type ZLoadingVariants = VariantProps<typeof zLoadingVariants>;

export { ZLoadingComponent, zLoadingVariants };
export type { ZLoadingColor, ZLoadingSize, ZLoadingSpinner, ZLoadingVariants };
