import { CustomElement } from '../../Abstracts/CustomElement';
import { IPaginatorElementProps } from './IPaginatorElementProps';
import { PaginatorElementIntl } from './PaginatorElementIntl';
declare const PaginatorElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Disableable").IDisableableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Variantable").IVariantableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Appearanceable").IAppearanceableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * Paginator - A component that provides pagination controls for navigating through large datasets.
 *
 * @description The Paginator component is designed to allow users to navigate through paginated content. It typically includes controls like "Next", "Previous", and page numbers, enabling users to move between different pages of a dataset without needing to load everything at once.
 *
 * @name Paginator
 * @element mosaik-paginator
 * @category UI Components
 *
 * @slot previous - The slot for the "Previous" button in the paginator.
 * @slot next - The slot for the "Next" button in the paginator.
 * @slot pages - The slot for the page number buttons.
 *
 * @cssprop {unknown} --paginator-font-family - The font-family property for the paginator text.
 * @cssprop {unknown} --paginator-font-size - The font-size property for the paginator text.
 * @cssprop {unknown} --paginator-font-line-height - The line-height property for the paginator text.
 * @cssprop {unknown} --paginator-font-weight - The font-weight property for the paginator text.
 * @cssprop {unknown} --paginator-font-letter-spacing - The letter-spacing property for the paginator text.
 * @cssprop {unknown} --paginator-font-text-decoration - The text-decoration property for the paginator text.
 * @cssprop {unknown} --paginator-font-text-transform - The text-transform property for the paginator text.
 * @cssprop {unknown} --paginator-background-color - The background-color property for the paginator.
 * @cssprop {unknown} --paginator-border-color - The border-color property for the paginator.
 * @cssprop {unknown} --paginator-foreground-color - The foreground-color property for the paginator.
 * @cssprop {unknown} --paginator-border-width - The border-width property for the paginator.
 * @cssprop {unknown} --paginator-border-radius - The border-radius property for the paginator.
 * @cssprop {unknown} --paginator-border-style - The border-style property for the paginator.
 * @cssprop {unknown} --paginator-shadow - The shadow property for the paginator.
 * @cssprop {unknown} --paginator-gap - The gap property between paginator elements.
 *
 * @dependency {ButtonElement} - The Button element used for pagination controls.
 * @dependency {TextElement} - The Text element used for displaying page numbers.
 * @dependency {SelectElement} - The Select element used for selecting page sizes.
 *
 * @fires paginated - Called when the pagination changes.
 *
 * @example
 * ```html
 * <mosaik-paginator></mosaik-paginator>
 * ```
 *
 * @public
 */
export declare class PaginatorElement extends PaginatorElement_base implements IPaginatorElementProps {
    private readonly _intl;
    private _total;
    private _size;
    private _sizes;
    private _showSizes;
    /**
     * @public
     */
    constructor();
    /**
     * Returns the `{@link is}` property.
     * The `{@link is}` property represents natural name of this element.
     *
     * @public
     * @static
     * @readonly
     */
    static get is(): string;
    /**
     * Gets or sets the `total` property.
     *
     * @public
     * @attr
     */
    get total(): number;
    set total(value: number);
    /**
     * Gets or sets the `size` property.
     *
     * @public
     * @attr
     */
    get size(): number;
    set size(value: number);
    /**
     * Gets or sets the `sizes` property.
     *
     * @public
     * @attr
     */
    get sizes(): Array<number>;
    set sizes(value: Array<number>);
    /**
     * Gets or sets the `showSizes` property.
     *
     * @public
     * @attr
     */
    get showSizes(): boolean;
    set showSizes(value: boolean);
    /**
     * Returns the `intl` property.
     *
     * @public
     * @readonly
     */
    get intl(): PaginatorElementIntl;
}
/**
 * @public
 */
export declare namespace PaginatorElement {
    type Props = IPaginatorElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-paginator': PaginatorElement;
    }
}
export {};
//# sourceMappingURL=PaginatorElement.d.ts.map