import { KbqButtonStyles } from '@koobiq/components/button';
import { KbqComponentColors } from '@koobiq/components/core';
import { KbqResizerSizeChangeEvent } from '@koobiq/components/resizer';
import { KbqScrollbar } from '@koobiq/components/scrollbar';
import * as i0 from "@angular/core";
export declare class KbqContentPanelAside {
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqContentPanelAside, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KbqContentPanelAside, "kbq-content-panel-aside", ["kbqContentPanelAside"], {}, {}, never, ["*"], true, never>;
}
export declare class KbqContentPanelHeaderTitle {
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqContentPanelHeaderTitle, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<KbqContentPanelHeaderTitle, "[kbqContentPanelHeaderTitle]", ["kbqContentPanelHeaderTitle"], {}, {}, never, never, true, never>;
}
export declare class KbqContentPanelHeaderActions {
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqContentPanelHeaderActions, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<KbqContentPanelHeaderActions, "[kbqContentPanelHeaderActions]", ["kbqContentPanelHeaderActions"], {}, {}, never, never, true, never>;
}
export declare class KbqContentPanelHeader {
    /**
     * @docs-private
     */
    protected readonly contentPanelContainer: KbqContentPanelContainer;
    /**
     * @docs-private
     */
    protected readonly buttonStyles: typeof KbqButtonStyles;
    /**
     * @docs-private
     */
    protected readonly componentColors: typeof KbqComponentColors;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqContentPanelHeader, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KbqContentPanelHeader, "kbq-content-panel-header", never, {}, {}, never, ["[kbqContentPanelHeaderTitle]", "[kbqContentPanelHeaderActions]", "*"], true, never>;
}
export declare class KbqContentPanelBody {
    /**
     * @docs-private
     */
    readonly scrollbar: import("@angular/core").Signal<KbqScrollbar>;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqContentPanelBody, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KbqContentPanelBody, "kbq-content-panel-body", ["kbqContentPanelBody"], {}, {}, never, ["*"], true, never>;
}
export declare class KbqContentPanelFooter {
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqContentPanelFooter, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KbqContentPanelFooter, "kbq-content-panel-footer", never, {}, {}, never, ["*"], true, never>;
}
export declare class KbqContentPanel {
    private readonly destroyRef;
    private readonly renderer;
    private readonly elementRef;
    private readonly contentPanelBody;
    constructor();
    private handleContentBodyScroll;
    private setupContentHeaderShadow;
    private setupContentFooterShadow;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqContentPanel, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KbqContentPanel, "kbq-content-panel", never, {}, {}, ["contentPanelBody"], ["kbq-content-panel-aside", "kbq-content-panel-header", "kbq-content-panel-body", "kbq-content-panel-footer"], true, never>;
}
export declare class KbqContentPanelContainer {
    /**
     * Whether the content panel is opened.
     *
     * @default false
     */
    readonly opened: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
    /**
     * Emits event when the content panel opened state is changed.
     */
    readonly openedChange: import("@angular/core").OutputEmitterRef<boolean>;
    /**
     * Whether the content panel can not be closed by clicking on the close button or pressing the ESCAPE key.
     *
     * @default false
     */
    readonly disableClose: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
    /**
     * Whether the content panel can not be closed by pressing the ESCAPE key.
     */
    readonly disableCloseByEscape: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
    /**
     * Whether the content panel resizer is disabled.
     */
    readonly disableResizer: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
    /**
     * Minimum width of the `KbqContentPanel`.
     *
     * @default 480
     */
    readonly minWidth: import("@angular/core").InputSignalWithTransform<number, unknown>;
    /**
     * Width of the `KbqContentPanel`.
     *
     * @default 640
     */
    readonly width: import("@angular/core").InputSignalWithTransform<number, unknown>;
    /**
     * Max width of the `KbqContentPanel`.
     *
     * @default 800
     */
    readonly maxWidth: import("@angular/core").InputSignalWithTransform<number, unknown>;
    /**
     * @docs-private
     */
    protected readonly openedState: import("@angular/core").WritableSignal<boolean>;
    /**
     * @docs-private
     */
    protected readonly widthState: import("@angular/core").WritableSignal<number>;
    /**
     * Whether the content panel is opened.
     */
    readonly isOpened: import("@angular/core").Signal<boolean>;
    /**
     * @docs-private
     */
    protected readonly contentAnimationState: import("@angular/core").Signal<{
        value: boolean;
        params: {
            marginRight: number;
        };
    }>;
    constructor();
    /**
     * Toggles the content panel opened state.
     */
    toggle(): void;
    /**
     * Opens the content panel.
     */
    open(): void;
    /**
     * Closes the content panel.
     */
    close(): void;
    /**
     * @docs-private
     */
    protected handleResizerDBLClick(event: MouseEvent): void;
    /**
     * @docs-private
     */
    protected handleResizerSizeChange({ width }: KbqResizerSizeChangeEvent): void;
    /**
     * @docs-private
     */
    protected handleEscapeKeydown(event: KeyboardEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqContentPanelContainer, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KbqContentPanelContainer, "kbq-content-panel-container", ["kbqContentPanelContainer"], { "opened": { "alias": "opened"; "required": false; "isSignal": true; }; "disableClose": { "alias": "disableClose"; "required": false; "isSignal": true; }; "disableCloseByEscape": { "alias": "disableCloseByEscape"; "required": false; "isSignal": true; }; "disableResizer": { "alias": "disableResizer"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; }, { "openedChange": "openedChange"; }, never, ["*", "kbq-content-panel"], true, never>;
}
