import { AccordionPanelComponent } from './accordion-panel.component';
import type { AccordionTitleClass } from './accordion-title.theme';
import { AccordionTitleThemeService } from './accordion-title.theme.service';
import type { AccordionColors } from './accordion.theme';
import { BaseComponent } from 'flowbite-angular';
import { IconRegistry } from 'flowbite-angular/icon';
import type { OnInit, TemplateRef } from '@angular/core';
import { InjectionToken } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';
import * as i0 from "@angular/core";
export declare const FLOWBITE_ACCORDION_TITLE_ICON_DEFAULT_VALUE: InjectionToken<TemplateRef<unknown> | undefined>;
export declare const FLOWBITE_ACCORDION_TITLE_CUSTOM_STYLE_DEFAULT_VALUE: InjectionToken<{
    root?: {
        base?: string | undefined;
        color?: {
            [x: string]: string | undefined;
            primary?: string | undefined;
            light?: string | undefined;
            blue?: string | undefined;
            red?: string | undefined;
            green?: string | undefined;
            yellow?: string | undefined;
        } | undefined;
        isFlush?: {
            enabled?: string | undefined;
            disabled?: string | undefined;
        } | undefined;
        isOpen?: {
            enabled?: string | undefined;
            disabled?: string | undefined;
        } | undefined;
    } | undefined;
    text?: {
        base?: string | undefined;
    } | undefined;
}>;
export declare const accordionTitleDefaultValueProvider: import("@angular/core").EnvironmentProviders;
/**
 * @see https://flowbite.com/docs/components/accordion/
 */
export declare class AccordionTitleComponent extends BaseComponent<AccordionTitleClass> implements OnInit {
    /**
     * Service injected used to generate class
     */
    readonly themeService: AccordionTitleThemeService;
    /**
     * The parent `AccordionPanelComponent`
     */
    readonly accordionPanelComponent: AccordionPanelComponent;
    /**
     * `IconRegistry` service
     */
    readonly iconRegistry: IconRegistry;
    /**
     * `DomSanitizer` service
     */
    readonly domSanitizer: DomSanitizer;
    /**
     * Set the accordion title color
     *
     * @default `AccordionPanelComponents`'s color
     */
    color: import("@angular/core").ModelSignal<keyof AccordionColors>;
    /**
     * Set the accordion title icon
     *
     * @default undefined
     */
    icon: import("@angular/core").ModelSignal<TemplateRef<unknown> | undefined>;
    /**
     * Set the custom style for this accordion title
     */
    customStyle: import("@angular/core").ModelSignal<{
        root?: {
            base?: string | undefined;
            color?: {
                [x: string]: string | undefined;
                primary?: string | undefined;
                light?: string | undefined;
                blue?: string | undefined;
                red?: string | undefined;
                green?: string | undefined;
                yellow?: string | undefined;
            } | undefined;
            isFlush?: {
                enabled?: string | undefined;
                disabled?: string | undefined;
            } | undefined;
            isOpen?: {
                enabled?: string | undefined;
                disabled?: string | undefined;
            } | undefined;
        } | undefined;
        text?: {
            base?: string | undefined;
        } | undefined;
    }>;
    fetchClass(): AccordionTitleClass;
    init(): void;
    /**
     * Toggle the parent `AccordionPanelComponent`'s isOpen
     */
    onClick(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AccordionTitleComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AccordionTitleComponent, "flowbite-accordion-title", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "customStyle": { "alias": "customStyle"; "required": false; "isSignal": true; }; }, { "color": "colorChange"; "icon": "iconChange"; "customStyle": "customStyleChange"; }, never, ["*"], true, never>;
}
