
import { IgcPageCancellableEventArgs } from './igc-page-cancellable-event-args';
import { IgcPageEventArgs } from './igc-page-event-args';
import { IgcOverlaySettings } from './igc-overlay-settings';
import { IgcPaginatorResourceStrings } from './igc-paginator-resource-strings';
import { EventEmitterMixin, LitElement, Constructor, AbstractConstructor } from './common';




/* blazorElement */
/* mustUseNGParentAnchor */
/* wcElementTag: igc-paginator */
/* blazorIndirectRender */
/* singleInstanceIdentifier */
/* contentParent: GridBaseDirective */
/* contentParent: RowIsland */
/* contentParent: HierarchicalGrid */
/* jsonAPIManageCollectionInMarkup */
/**
 * Paginator component description
 */

    export declare class IgcPaginatorComponent extends EventEmitterMixin<IgcPaginatorComponentEventMap, Constructor<LitElement>>(LitElement)

    {

    /* blazorSuppress */
    static readonly tagName: string;
    /* blazorSuppress */
    static register(): void;

          

    /**
     * Total pages calculated from totalRecords and perPage
     */
    public set totalPages(value: number);
          public get totalPages(): number;
  
          

    /**
     * Gets/Sets the current page of the paginator.
     * The default is 0.
     */
    public set page(value: number);
          public get page(): number;
  
          

    /**
     * Gets/Sets the number of visible items per page in the paginator.
     * The default is 15.
     */
    public set perPage(value: number);
          public get perPage(): number;
  
          

    /**
     * Sets the total records.
     */
    public set totalRecords(value: number);
          public get totalRecords(): number;
  
          

    /**
     * Sets custom options in the select of the paginator
     */
    public set selectOptions(value: number[]);
          public get selectOptions(): number[];
  
          

    /**
     * Sets custom OverlaySettings.
     */
    public set overlaySettings(value: IgcOverlaySettings);
          public get overlaySettings(): IgcOverlaySettings;
  
          

    /* mustSetInCodePlatforms: WebComponents;Blazor;React */
    /**
     * An accessor that sets the resource strings.
     * By default it uses EN resources.
     */
    public set resourceStrings(value: IgcPaginatorResourceStrings);
          public get resourceStrings(): IgcPaginatorResourceStrings;
  
                

    /**
     * Returns if the current page is the last page.
     */
    public get isLastPage(): boolean;
        
                

    /**
     * Returns if the current page is the first page.
     */
    public get isFirstPage(): boolean;
        
            

    /**
     * Goes to the next page of the paginator, if the paginator is not already at the last page.
     */
    public nextPage(): void;

            
    /**
     * Goes to the previous page of the paginator, if the paginator is not already at the first page.
     */
    public previousPage(): void;

            
    /**
     * Goes to the desired page index.
     * @param val
     */
    public paginate(val: number): void;

    }

export declare interface IgcPaginatorComponentEventMap {
            
        		    /**
		     * Emitted when `perPage` property value of the paginator is changed.
		     */
perPageChange: CustomEvent<number>;

        		    /**
		     * Emitted after the current page is changed.
		     */
pageChange: CustomEvent<number>;

        		    /**
		     * Emitted before paging is performed.
		     */
paging: CustomEvent<IgcPageCancellableEventArgs>;

        		    /**
		     * Emitted after paging is performed.
		     */
pagingDone: CustomEvent<IgcPageEventArgs>;

}
        