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';

declare class ZAccordionItemComponent {
    private readonly _accordion;
    readonly class: _angular_core.InputSignal<ClassValue>;
    readonly zId: _angular_core.InputSignal<string>;
    readonly zTitle: _angular_core.InputSignal<string>;
    readonly zDisabled: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
    protected readonly isOpen: _angular_core.Signal<boolean>;
    protected readonly accordionType: _angular_core.InputSignal<"default" | "ghost" | "outline" | "card" | "elevated" | "icon-list" | "bordered" | "separated" | null | undefined>;
    protected readonly itemClasses: _angular_core.Signal<string>;
    protected readonly triggerClasses: _angular_core.Signal<string>;
    protected readonly contentClasses: _angular_core.Signal<string>;
    protected readonly contentInnerClasses: _angular_core.Signal<"pt-0 pb-4" | "px-4 pt-0 pb-4" | "px-4 pt-0 pb-4 pl-12 text-muted-foreground" | "px-5 pt-0 pb-4 text-muted-foreground" | "mt-2 px-4 pb-4">;
    protected readonly iconType: _angular_core.Signal<"lucideMinus" | "lucidePlus" | "lucideChevronDown">;
    protected readonly iconClasses: _angular_core.Signal<string>;
    protected readonly titleWrapperClasses: _angular_core.Signal<"flex items-center gap-4" | "flex items-center gap-2">;
    protected toggle(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZAccordionItemComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZAccordionItemComponent, "z-accordion-item", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zId": { "alias": "zId"; "required": true; "isSignal": true; }; "zTitle": { "alias": "zTitle"; "required": true; "isSignal": true; }; "zDisabled": { "alias": "zDisabled"; "required": false; "isSignal": true; }; }, {}, never, ["[zAccordionIcon]", "*"], true, never>;
}

declare class ZAccordionComponent {
    readonly class: _angular_core.InputSignal<ClassValue>;
    readonly zType: _angular_core.InputSignal<"default" | "ghost" | "outline" | "card" | "elevated" | "icon-list" | "bordered" | "separated" | null | undefined>;
    readonly zMultiple: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
    readonly zCollapsible: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
    protected readonly items: _angular_core.Signal<readonly ZAccordionItemComponent[]>;
    private readonly _openItems;
    protected readonly zClasses: _angular_core.Signal<string>;
    isItemOpen(itemId: string): boolean;
    toggleItem(itemId: string): void;
    openItem(itemId: string): void;
    closeItem(itemId: string): void;
    closeAll(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZAccordionComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZAccordionComponent, "z-accordion", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zType": { "alias": "zType"; "required": false; "isSignal": true; }; "zMultiple": { "alias": "zMultiple"; "required": false; "isSignal": true; }; "zCollapsible": { "alias": "zCollapsible"; "required": false; "isSignal": true; }; }, {}, ["items"], ["*"], true, never>;
}

declare const zAccordionVariants: (props?: ({
    zType?: "default" | "ghost" | "outline" | "card" | "elevated" | "icon-list" | "bordered" | "separated" | null | undefined;
} & class_variance_authority_types.ClassProp) | undefined) => string;
declare const zAccordionItemVariants: (props?: ({
    zType?: "default" | "ghost" | "outline" | "card" | "elevated" | "icon-list" | "bordered" | "separated" | null | undefined;
    isDisabled?: boolean | null | undefined;
    isOpen?: boolean | null | undefined;
} & class_variance_authority_types.ClassProp) | undefined) => string;
declare const zAccordionTriggerVariants: (props?: ({
    zType?: "default" | "ghost" | "outline" | "card" | "elevated" | "icon-list" | "bordered" | "separated" | null | undefined;
    isOpen?: boolean | null | undefined;
} & class_variance_authority_types.ClassProp) | undefined) => string;
declare const zAccordionContentVariants: (props?: ({
    zType?: "default" | "ghost" | "outline" | "card" | "elevated" | "icon-list" | "bordered" | "separated" | null | undefined;
    isOpen?: boolean | null | undefined;
} & class_variance_authority_types.ClassProp) | undefined) => string;
type ZAccordionVariants = VariantProps<typeof zAccordionVariants>;
type ZAccordionItemVariants = VariantProps<typeof zAccordionItemVariants>;
type ZAccordionTriggerVariants = VariantProps<typeof zAccordionTriggerVariants>;
type ZAccordionContentVariants = VariantProps<typeof zAccordionContentVariants>;

interface ZAccordionItem {
    id: string;
    title: string;
    content?: string;
    disabled?: boolean;
    icon?: string;
}

export { ZAccordionComponent, ZAccordionItemComponent, zAccordionContentVariants, zAccordionItemVariants, zAccordionTriggerVariants, zAccordionVariants };
export type { ZAccordionContentVariants, ZAccordionItem, ZAccordionItemVariants, ZAccordionTriggerVariants, ZAccordionVariants };
