import * as i0 from '@angular/core';
import { MXBaseComponent } from '@acorex/cdk/common';
import { AXUploaderService } from '@acorex/cdk/uploader';

/**
 * A container for managing the uploader dialog with collapse and expand animations.
 * @category Components
 */
declare class AXUploaderDialogContainerComponent {
    /**
     * The parent closable component instance.
     * @ignore
     */
    private parent;
    /**
     * Indicates whether the component is in a collapsed state.
     * @defaultValue false
     */
    isCollapsed: boolean;
    /**
     * Closes the parent dialog or container.
     */
    close(): void;
    /**
     * Toggles the collapsed state of the component.
     */
    toggle(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AXUploaderDialogContainerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXUploaderDialogContainerComponent, "ax-uploader-dialog-container", never, {}, {}, never, never, true, never>;
}

/**
 * A component that provides a drop zone area for uploading files.
 * @category Components
 */
declare class AXUploaderDropZoneComponent extends MXBaseComponent {
    /**
     * Description text for the drop zone.
     * @defaultValue ''
     */
    description: i0.InputSignal<string>;
    /**
     * Prevents page refresh on drag and drop operations.
     * @returns false to prevent default refresh behavior
     */
    preventRefresh(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<AXUploaderDropZoneComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXUploaderDropZoneComponent, "ax-uploader-drop-zone", never, { "description": { "alias": "description"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}

/**
 * A component that displays a list of uploaded files.
 * @category Components
 */
declare class AXUploaderListComponent {
    /**
     * The uploader service instance for managing file uploads.
     * @ignore
     */
    protected uploadService: AXUploaderService;
    static ɵfac: i0.ɵɵFactoryDeclaration<AXUploaderListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXUploaderListComponent, "ax-uploader-list", never, {}, {}, never, never, true, never>;
}

declare class AXUploaderModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<AXUploaderModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<AXUploaderModule, never, [typeof AXUploaderListComponent, typeof AXUploaderDialogContainerComponent], [typeof AXUploaderListComponent, typeof AXUploaderDialogContainerComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<AXUploaderModule>;
}

export { AXUploaderDialogContainerComponent, AXUploaderDropZoneComponent, AXUploaderListComponent, AXUploaderModule };
