import { InplacePassThrough, InplaceContentTemplateContext } from 'primeng/types/inplace';
export * from 'primeng/types/inplace';
import * as i0 from '@angular/core';
import { TemplateRef } from '@angular/core';
import { BaseComponent } from 'primeng/basecomponent';
import * as i1 from 'primeng/bind';
import { Bind } from 'primeng/bind';
import { BaseStyle } from 'primeng/base';
import * as i2 from 'primeng/api';

/**
 *
 * Inplace provides an easy to do editing and display at the same time where clicking the output displays the actual content.
 *
 * [Live Demo](https://www.primeng.org/inplace)
 *
 * @module inplacestyle
 *
 */
declare enum InplaceClasses {
    /**
     * Class name of the root element
     */
    root = "p-inplace",
    /**
     * Class name of the display element
     */
    display = "p-inplace-display",
    /**
     * Class name of the content element
     */
    content = "p-inplace-content"
}
declare class InplaceStyle extends BaseStyle {
    name: string;
    style: string;
    classes: {
        root: () => string[];
        display: ({ instance }: {
            instance: any;
        }) => (string | {
            'p-disabled': any;
        })[];
        content: string;
    };
    static ɵfac: i0.ɵɵFactoryDeclaration<InplaceStyle, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<InplaceStyle>;
}
interface InplaceStyle extends BaseStyle {
}

declare class InplaceDisplay extends BaseComponent {
    static ɵfac: i0.ɵɵFactoryDeclaration<InplaceDisplay, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<InplaceDisplay, "p-inplacedisplay, p-inplace-display", never, {}, {}, never, ["*"], true, never>;
}
declare class InplaceContent extends BaseComponent {
    static ɵfac: i0.ɵɵFactoryDeclaration<InplaceContent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<InplaceContent, "p-inplacecontent, p-inplace-content", never, {}, {}, never, ["*"], true, never>;
}
/**
 * Inplace provides an easy to do editing and display at the same time where clicking the output displays the actual content.
 * @group Components
 */
declare class Inplace extends BaseComponent<InplacePassThrough> {
    componentName: string;
    $pcInplace: Inplace | undefined;
    bindDirectiveInstance: Bind;
    /**
     * Whether the content is displayed or not.
     * @group Props
     */
    active: i0.WritableSignal<boolean>;
    /**
     * When present, it specifies that the element should be disabled.
     * @group Props
     */
    disabled: i0.InputSignalWithTransform<boolean, unknown>;
    /**
     * Allows to prevent clicking.
     * @group Props
     */
    preventClick: i0.InputSignalWithTransform<boolean, unknown>;
    /**
     * Callback to invoke when inplace is opened.
     * @param {Event} event - Browser event.
     * @group Emits
     */
    onActivate: i0.OutputEmitterRef<Event>;
    /**
     * Callback to invoke when inplace is closed.
     * @param {Event} event - Browser event.
     * @group Emits
     */
    onDeactivate: i0.OutputEmitterRef<Event>;
    /**
     * Custom display template.
     * @group Templates
     */
    displayTemplate: i0.Signal<TemplateRef<void> | undefined>;
    /**
     * Custom content template.
     * @group Templates
     */
    contentTemplate: i0.Signal<TemplateRef<InplaceContentTemplateContext> | undefined>;
    _componentStyle: InplaceStyle;
    onAfterViewChecked(): void;
    onActivateClick(event: MouseEvent): void;
    onDeactivateClick(event: MouseEvent): void;
    /**
     * Activates the content.
     * @param {Event} event - Browser event.
     * @group Method
     */
    activate(event?: Event): void;
    /**
     * Deactivates the content.
     * @param {Event} event - Browser event.
     * @group Method
     */
    deactivate(event?: Event): void;
    onKeydown(event: KeyboardEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<Inplace, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<Inplace, "p-inplace", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "preventClick": { "alias": "preventClick"; "required": false; "isSignal": true; }; }, { "onActivate": "onActivate"; "onDeactivate": "onDeactivate"; }, ["displayTemplate", "contentTemplate"], ["[pInplaceDisplay]", "[pInplaceContent]"], true, [{ directive: typeof i1.Bind; inputs: {}; outputs: {}; }]>;
}
declare class InplaceModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<InplaceModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<InplaceModule, never, [typeof Inplace, typeof InplaceContent, typeof InplaceDisplay, typeof i2.SharedModule], [typeof Inplace, typeof InplaceContent, typeof InplaceDisplay, typeof i2.SharedModule]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<InplaceModule>;
}

export { Inplace, InplaceClasses, InplaceContent, InplaceDisplay, InplaceModule, InplaceStyle };
