import { GdsElement } from '../../gds-element';
/**
 * Centralized density configuration
 */
declare const DENSITY_CONFIG: {
    readonly compact: {
        readonly button: "small";
        readonly font: "detail-book-s";
        readonly gap: "xl";
        readonly navGap: "xs";
        readonly input: "small";
        readonly inputWidth: "140px";
        readonly inputPadding: "m";
    };
    readonly comfortable: {
        readonly button: "small";
        readonly font: "detail-book-s";
        readonly gap: "2xl";
        readonly navGap: "s";
        readonly input: "small";
        readonly inputWidth: "140px";
        readonly inputPadding: "m";
    };
    readonly spacious: {
        readonly button: "medium";
        readonly font: "detail-book-m";
        readonly gap: "2xl";
        readonly navGap: "s";
        readonly input: "large";
        readonly inputWidth: "200px";
        readonly inputPadding: "xl";
    };
};
type DensityMode = keyof typeof DENSITY_CONFIG;
declare const GdsPagination_base: (new (...args: any[]) => import("../../utils/mixins/declarative-layout-mixins").MarginProps) & (new (...args: any[]) => import("../../utils/mixins/declarative-layout-mixins").SizeXProps) & (new (...args: any[]) => import("../../utils/mixins/declarative-layout-mixins").LayoutChildProps) & typeof GdsElement;
/**
 * @element gds-pagination
 * @status beta
 *
 * @summary A pagination component with page navigation, configurable rows per page, and responsive layout.
 *
 * @event gds-page-change - Fired when the active page changes.
 * @event gds-rows-change - Fired when the rows per page value changes.
 */
export declare class GdsPagination extends GdsPagination_base {
    #private;
    static styles: (import("lit").CSSResult | import("lit").CSSResult[])[];
    /**
     * Sets the active page, initially the first page.
     */
    page: number;
    /**
     * Sets the numbers of rows to show, defaults to 10
     */
    rows: number;
    total: number;
    /**
     * Options array to set the nunber of items per page.
     * Defaults to `[5, 10, 25, 50]`
     */
    options: number[];
    /**
     * Enables first and last button
     */
    jump: boolean;
    /**
     * Hide options
     */
    hideOptions: boolean;
    /**
     * Controls density mode on pagination
     * Accepts: `comfortable`, `compact`, `spacious`
     */
    density: DensityMode;
    /**
     * The text summary to display on the left side (e.g. "1-10 of 100").
     * If a slot named "label" is provided, this property is ignored.
     */
    label: string;
    private _elInput?;
    private _isMobile;
    private _jumpPopoverOpen;
    private _handleMobile;
    render(): any;
}
export {};
