import { default as React } from 'react';
/**
 * Pagination component dengan:
 * - Tombol « (go to first), ‹ (prev), nomor halaman, › (next), » (last)
 * - Dropdown “Baris per halaman”
 * - Teks “Halaman X dari Y”
 *
 * @param {number} currentPage - Halaman saat ini (1‐indexed).
 * @param {number} totalPages - Total jumlah halaman.
 * @param {number} pageSize - Jumlah baris per halaman saat ini.
 * @param {number[]} pageSizeOptions - Daftar opsi pageSize (misal [10,20,50]).
 * @param {(page: number) => void} onPageChange - Callback ketika user memilih halaman baru.
 * @param {(newPageSize: number) => void} onPageSizeChange - Callback ketika pageSize diganti.
 * @param {boolean} [disabled] - Jika true, semua kontrol disabled.
 */
export interface PaginationProps extends Omit<React.HTMLAttributes<HTMLElement>, 'onChange'> {
    /**
     * Halaman saat ini (1‐indexed).
     */
    currentPage: number;
    /**
     * Total halaman (dihitung dari total data / pageSize).
     */
    totalPages: number;
    /**
     * Jumlah baris per halaman saat ini.
     */
    pageSize: number;
    /**
     * Opsi‐opsi jumlah baris per halaman (misal: [10, 20, 50, 100]).
     */
    pageSizeOptions: number[];
    /**
     * Callback ketika user mengganti halaman (klik nomor, Prev, Next, dll).
     *
     * @param {number} page → nomor halaman baru (1‐indexed).
     */
    onPageChange: (page: number) => void;
    /**
     * Callback ketika user mengganti pageSize (dropdown “Baris per halaman”).
     *
     * @param {number} newPageSize → jumlah baris per halaman baru.
     */
    onPageSizeChange: (newPageSize: number) => void;
    /**
     * Jika true, pagination akan men‐disable semua kontrol navigasi.
     * Misalnya: saat sedang loading data atau tidak ada data sama sekali.
     */
    disabled?: boolean;
    /**
     * Jika true, layout akan menjadi full width dengan justify-between.
     * Cocok untuk digunakan di dalam Table component.
     * - Desktop: dropdown di kiri, nav di kanan (justify-between)
     * - Mobile: dropdown di atas, nav di bawah (flex-col)
     */
    fullWidth?: boolean;
}
export default function Pagination({ currentPage, totalPages, pageSize, pageSizeOptions, onPageChange, onPageSizeChange, disabled, fullWidth, className, ...rest }: PaginationProps): import("react/jsx-runtime").JSX.Element | null;
//# sourceMappingURL=Pagination.d.ts.map