import * as i0 from "@angular/core";
/** Type of pagination display variant */
export type PaginationType = 'default' | 'dots';
/**
 * A customizable pagination component with navigation controls
 *
 * @remarks
 * Supports both traditional numbered pagination and dot indicators.
 * Integrates with NgxPagination for advanced features while providing
 * custom styling and navigation controls.
 *
 * @example
 * ```html
 * <st-paginator
 *   [pages]="10"
 *   type="default"
 *   (pageChanged)="onPageChange($event)"
 * ></st-paginator>
 * ```
 *
 * @example
 * ```html
 * <st-paginator
 *   [pages]="5"
 *   type="dots"
 *   [maxSize]="3"
 * ></st-paginator>
 * ```
 */
export declare class PaginatorComponent {
    /**
     * Unique identifier for the paginator instance
     * @defaultValue 'paginator'
     */
    paginatorId: import("@angular/core").InputSignal<string>;
    /**
     * Maximum number of visible page items
     * @defaultValue 5
     */
    maxSize: import("@angular/core").InputSignal<number>;
    /**
     * Pagination display variant
     * @defaultValue 'default'
     */
    type: import("@angular/core").InputSignal<PaginationType>;
    /**
     * Event emitted when the current page changes
     */
    pageChanged: import("@angular/core").OutputEmitterRef<number>;
    /**
     * Total number of pages
     * @defaultValue 0
     */
    pages: import("@angular/core").InputSignal<number>;
    /**
     * @internal
     * Computed array of page numbers
     */
    pageCounter: import("@angular/core").Signal<number[]>;
    /**
     * Current active page
     * @defaultValue 1
     */
    currentPage: import("@angular/core").ModelSignal<number>;
    /**
     * @internal
     * Left arrow icon reference
     */
    iconArrowLeft: string;
    /**
     * @internal
     * Double left arrow icon reference
     */
    iconDoubleArrowLeft: string;
    /**
     * @internal
     * Right arrow icon reference
     */
    iconArrowRight: string;
    /**
     * @internal
     * Double right arrow icon reference
     */
    iconDoubleArrowRight: string;
    /**
     * @internal
     * Handles page navigation changes
     * @param page - New page number
     */
    handlePageChange(page: number): void;
    /**
     * @internal
     * Navigates to previous page if available
     */
    previousPage(): void;
    /**
     * @internal
     * Navigates to next page if available
     */
    nextPage(): void;
    /**
     * @internal
     * Jumps to first page
     */
    firstPage(): void;
    /**
     * @internal
     * Jumps to last page
     */
    lastPage(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<PaginatorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PaginatorComponent, "st-paginator", never, { "paginatorId": { "alias": "paginatorId"; "required": false; "isSignal": true; }; "maxSize": { "alias": "maxSize"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "pages": { "alias": "pages"; "required": false; "isSignal": true; }; "currentPage": { "alias": "currentPage"; "required": false; "isSignal": true; }; }, { "pageChanged": "pageChanged"; "currentPage": "currentPageChange"; }, never, never, true, never>;
}
