import { ElementRef, EventEmitter, InjectionToken } from '@angular/core';
import { AnimationReferenceMetadata } from '@angular/animations';
import { CancelableEventArgs, IBaseEventArgs } from '../core/utils';
import * as i0 from "@angular/core";
export interface IgxExpansionPanelBase {
    id: string;
    cssClass: string;
    /** @hidden @internal */
    headerId: string;
    collapsed: boolean;
    animationSettings: {
        openAnimation: AnimationReferenceMetadata;
        closeAnimation: AnimationReferenceMetadata;
    };
    contentCollapsed: EventEmitter<any>;
    contentCollapsing: EventEmitter<any>;
    contentExpanded: EventEmitter<any>;
    contentExpanding: EventEmitter<any>;
    collapse(evt?: Event): any;
    expand(evt?: Event): any;
    toggle(evt?: Event): any;
}
/** @hidden */
export declare const IGX_EXPANSION_PANEL_COMPONENT: InjectionToken<IgxExpansionPanelBase>;
export interface IExpansionPanelEventArgs extends IBaseEventArgs {
    event: Event;
}
export interface IExpansionPanelCancelableEventArgs extends IExpansionPanelEventArgs, CancelableEventArgs {
}
export declare abstract class HeaderContentBaseDirective {
    protected element: ElementRef;
    constructor(element: ElementRef);
    /**
     * Returns the `textContent` of an element
     *
     * ```html
     * <igx-expansion-panel-title>
     *  Tooltip content
     * </igx-expansion-panel-title>
     * ```
     *
     *  or the `title` content
     *
     * ```html
     * <igx-expansion-panel-title [title]="'Tooltip content'">
     * </igx-expansion-panel-title>
     * ```
     *
     * If both are provided, returns the `title` content.
     *
     * @param element
     * @returns tooltip content for an element
     */
    getTooltipContent: (element: ElementRef) => string;
    static ɵfac: i0.ɵɵFactoryDeclaration<HeaderContentBaseDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<HeaderContentBaseDirective, never, never, {}, {}, never, never, true, never>;
}
