import { LabeledRequestHandler } from '../../../skill/models';
import { Calculable } from '../../../types';
import { Command, CommandModel, CommandProps } from '../../commands';
import { APLActionableComponentModel, APLActionableComponentProps, APLMultiChildComponentModel, APLMultiChildComponentProps, PagerDirection, PagerNavigation } from '../../interfaces';
import { APLBaseComponentModel, APLBaseComponentProps, APLComponent } from '../component';
export interface APLPagerModel extends APLBaseComponentModel, APLActionableComponentModel, APLMultiChildComponentModel {
    handlePageMove?: Calculable<string>[];
    initialPage?: Calculable<number>;
    navigation?: Calculable<PagerNavigation>;
    onPageChanged?: Command<CommandModel, CommandProps>[];
    pageDirection?: Calculable<PagerDirection>;
}
export interface APLPagerProps extends APLBaseComponentProps, APLActionableComponentProps, APLMultiChildComponentProps {
    handlePageMove?: Calculable<string>[];
    initialPage?: Calculable<number>;
    navigation?: Calculable<PagerNavigation>;
    onPageChanged?: Command<CommandModel, CommandProps>[];
    pageDirection?: Calculable<PagerDirection>;
}
export declare class APLPager extends APLComponent<APLPagerModel, APLPagerProps> {
    constructor(props: APLPagerProps);
    addItems(...items: APLComponent<APLBaseComponentModel, APLBaseComponentProps>[]): this;
    componentSpecificModel(): APLPagerModel;
    componentSpecificRequestHandlers(): LabeledRequestHandler[];
}
