import { PaginationItem } from './hooks/pagination.types';
import * as i0 from "@angular/core";
/**
 * The Pagination component displays a set of navigation controls allowing users to navigate through pages of content.
 * It is built on top of a custom hook that manages pagination logic and state.
 * This component can be customized to hide next/previous buttons, specify boundary and sibling count for pagination items,
 * and handle page changes through a pageChange output.
 */
export declare class PaginationComponent {
    /**
     * Number of always visible pages at the beginning and end.
     */
    boundaryCount: import("@angular/core").InputSignal<number>;
    /**
     * The total number of pages.
     */
    count: import("@angular/core").InputSignal<number>;
    /**
     * The page selected by default when the component is uncontrolled.
     */
    defaultPage: import("@angular/core").InputSignal<number>;
    /**
     * If `true`, hide the next-page button.
     */
    hideNextButton: import("@angular/core").InputSignal<boolean>;
    /**
     * If `true`, hide the previous-page button.
     */
    hidePrevButton: import("@angular/core").InputSignal<boolean>;
    /**
     * The current page.
     */
    page: import("@angular/core").InputSignal<number | undefined>;
    /**
     * Number of always visible pages before and after the current page.
     */
    siblingCount: import("@angular/core").InputSignal<number>;
    /**
     * Controls whether the Pagination component is interactive.
     */
    disabled: import("@angular/core").InputSignal<boolean>;
    /**
     * Event emitted when the page changes.
     */
    pageChange: import("@angular/core").OutputEmitterRef<number>;
    /**
     * Items for pagination calculated by the hook
     */
    paginationItems: import("@angular/core").Signal<PaginationItem[]>;
    /**
     * Apply the disabled class to the host element
     */
    get isDisabled(): boolean;
    /**
     * Handle item click if the item is not disabled and not an ellipsis
     */
    handleItemClick(item: PaginationItem): void;
    /**
     * Check if an item is an ellipsis
     */
    isEllipsis(item: PaginationItem): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<PaginationComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PaginationComponent, "tgui-pagination", never, { "boundaryCount": { "alias": "boundaryCount"; "required": false; "isSignal": true; }; "count": { "alias": "count"; "required": false; "isSignal": true; }; "defaultPage": { "alias": "defaultPage"; "required": false; "isSignal": true; }; "hideNextButton": { "alias": "hideNextButton"; "required": false; "isSignal": true; }; "hidePrevButton": { "alias": "hidePrevButton"; "required": false; "isSignal": true; }; "page": { "alias": "page"; "required": false; "isSignal": true; }; "siblingCount": { "alias": "siblingCount"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; }, never, never, true, never>;
}
