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 ZCardSize = 'sm' | 'default' | 'lg';
interface ZCardConfig {
    title?: string;
    collapsible?: boolean;
    collapsed?: boolean;
    size?: ZCardSize;
}

declare class ZCardComponent {
    private readonly _customTitle;
    private readonly _customTitleContent;
    readonly zCollapsedChange: _angular_core.OutputEmitterRef<boolean>;
    readonly class: _angular_core.InputSignal<ClassValue>;
    readonly zTitle: _angular_core.InputSignal<string>;
    readonly zSize: _angular_core.InputSignal<ZCardSize>;
    readonly zCollapsible: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
    readonly zHiddenIcon: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
    readonly zCollapsed: _angular_core.ModelSignal<boolean>;
    protected readonly isCollapsed: _angular_core.Signal<boolean>;
    protected readonly hasCustomTitle: _angular_core.Signal<boolean>;
    protected readonly hostClasses: _angular_core.Signal<string>;
    protected readonly headerClasses: _angular_core.Signal<string>;
    protected readonly titleClasses: _angular_core.Signal<string>;
    protected readonly contentClasses: _angular_core.Signal<string>;
    protected onHeaderClick(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZCardComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZCardComponent, "z-card", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zTitle": { "alias": "zTitle"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zCollapsible": { "alias": "zCollapsible"; "required": false; "isSignal": true; }; "zHiddenIcon": { "alias": "zHiddenIcon"; "required": false; "isSignal": true; }; "zCollapsed": { "alias": "zCollapsed"; "required": false; "isSignal": true; }; }, { "zCollapsedChange": "zCollapsedChange"; "zCollapsed": "zCollapsedChange"; }, ["_customTitle", "_customTitleContent"], ["[zCardTitle]", "[zCardExtra]", "*"], true, never>;
}

declare class ZCardTitleDirective {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZCardTitleDirective, never>;
    static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ZCardTitleDirective, "[zCardTitle], [z-card-title]", never, {}, {}, never, never, true, never>;
}

declare const zCardVariants: (props?: ({
    zSize?: "sm" | "default" | "lg" | null | undefined;
} & class_variance_authority_types.ClassProp) | undefined) => string;
declare const zCardHeaderVariants: (props?: ({
    zSize?: "sm" | "default" | "lg" | null | undefined;
    zCollapsible?: boolean | null | undefined;
    zCollapsed?: boolean | null | undefined;
} & class_variance_authority_types.ClassProp) | undefined) => string;
declare const zCardTitleVariants: (props?: ({
    zSize?: "sm" | "default" | "lg" | null | undefined;
    zCollapsible?: boolean | null | undefined;
} & class_variance_authority_types.ClassProp) | undefined) => string;
declare const zCardContentVariants: (props?: ({
    zSize?: "sm" | "default" | "lg" | null | undefined;
} & class_variance_authority_types.ClassProp) | undefined) => string;
type ZCardVariants = VariantProps<typeof zCardVariants>;
type ZCardHeaderVariants = VariantProps<typeof zCardHeaderVariants>;
type ZCardTitleVariants = VariantProps<typeof zCardTitleVariants>;
type ZCardContentVariants = VariantProps<typeof zCardContentVariants>;

export { ZCardComponent, ZCardTitleDirective, zCardContentVariants, zCardHeaderVariants, zCardTitleVariants, zCardVariants };
export type { ZCardConfig, ZCardContentVariants, ZCardHeaderVariants, ZCardSize, ZCardTitleVariants, ZCardVariants };
