import { Action } from '@ngrx/store';
import { Link } from '../model';
import { MonkeyEcxPagination } from './monkeyecx-pagination';
export interface MonkeyEcxConfigStore {
    actions?: {};
    selectors?: {};
}
export interface MonkeyEcxCollectionStore extends MonkeyEcxConfigStore {
    actions: {
        updateControl: Action;
        updateLinks: Action;
        updatePage: Action;
        updateAll: Action;
        clear: Action;
    };
    selectors: {
        linksHasDifference?: Function;
        selectLinks: Function;
    };
}
export interface MonkeyEcxEntityStore extends MonkeyEcxConfigStore {
    actions: {
        updateControl: Action;
        updateOne: Action;
    };
}
export interface MonkeyEcxControlStore {
    [key: string]: any;
}
export interface MonkeyEcxLinks {
    [key: string]: Link | string | undefined;
    url?: string;
}
export interface MonkeyEcxStoreControl {
    isLoading: boolean;
}
export interface MonkeyEcxStoreLoadParams {
    force?: boolean;
    identifier: string;
    url: string;
}
export interface MonkeyEcxStoreLoadPageParams {
    pagination: MonkeyEcxPagination;
    identifier: string;
}
