import * as _angular_core from '@angular/core';
import { ZIconVariants, ZIcon } from '@shival99/z-ui/components/z-icon';
import { ClassValue } from 'clsx';
import * as class_variance_authority_types from 'class-variance-authority/types';
import { VariantProps } from 'class-variance-authority';

type ZEmptySize = 'sm' | 'default' | 'lg';
type ZEmptyType = 'empty' | 'error';
type ZEmptyIcon = ZIcon;
type ZEmptyIconSize = NonNullable<ZIconVariants['zSize']>;

declare class ZEmptyComponent {
    private readonly _translate;
    readonly class: _angular_core.InputSignal<ClassValue>;
    readonly zType: _angular_core.InputSignal<ZEmptyType>;
    readonly zIcon: _angular_core.InputSignal<ZIcon>;
    readonly zIconSize: _angular_core.InputSignal<ZEmptyIconSize>;
    readonly zSize: _angular_core.InputSignal<"sm" | "default" | "lg" | null | undefined>;
    readonly zMessage: _angular_core.InputSignal<string>;
    readonly zDescription: _angular_core.InputSignal<string>;
    protected readonly containerClasses: _angular_core.Signal<string>;
    protected readonly iconClasses: _angular_core.Signal<string>;
    protected readonly messageClasses: _angular_core.Signal<string>;
    protected readonly descriptionClasses: _angular_core.Signal<string>;
    protected readonly displayIcon: _angular_core.Signal<ZIcon>;
    protected readonly displayMessage: _angular_core.Signal<string>;
    protected readonly displayDescription: _angular_core.Signal<string>;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZEmptyComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZEmptyComponent, "z-empty", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zType": { "alias": "zType"; "required": false; "isSignal": true; }; "zIcon": { "alias": "zIcon"; "required": false; "isSignal": true; }; "zIconSize": { "alias": "zIconSize"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zMessage": { "alias": "zMessage"; "required": false; "isSignal": true; }; "zDescription": { "alias": "zDescription"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
}

declare const zEmptyContainerVariants: (props?: ({
    zSize?: "sm" | "default" | "lg" | null | undefined;
    zType?: "empty" | "error" | null | undefined;
} & class_variance_authority_types.ClassProp) | undefined) => string;
declare const zEmptyIconVariants: (props?: ({
    zSize?: "sm" | "default" | "lg" | null | undefined;
    zType?: "empty" | "error" | null | undefined;
} & class_variance_authority_types.ClassProp) | undefined) => string;
declare const zEmptyMessageVariants: (props?: ({
    zSize?: "sm" | "default" | "lg" | null | undefined;
    zType?: "empty" | "error" | null | undefined;
} & class_variance_authority_types.ClassProp) | undefined) => string;
declare const zEmptyDescriptionVariants: (props?: ({
    zSize?: "sm" | "default" | "lg" | null | undefined;
    zType?: "empty" | "error" | null | undefined;
} & class_variance_authority_types.ClassProp) | undefined) => string;
type ZEmptyVariants = VariantProps<typeof zEmptyContainerVariants>;

export { ZEmptyComponent, zEmptyContainerVariants, zEmptyDescriptionVariants, zEmptyIconVariants, zEmptyMessageVariants };
export type { ZEmptyIcon, ZEmptyIconSize, ZEmptySize, ZEmptyType, ZEmptyVariants };
