import type FormPayload from '../form/definitions/form-payload';
import Action from './action';
import type { ActionsNS } from './namespace';
type ActionCollection = {
    [key: string]: Action;
};
declare class FilteredActions {
    actions: ActionCollection;
    private filterCache;
    payload: FormPayload;
    constructor(actions: ActionsNS.ActionsJSON | ActionCollection, payload?: FormPayload);
    get actionsList(): Action[];
    get length(): number;
    [Symbol.iterator](): Generator<Action, void, unknown>;
    hasAction(action: Action): boolean;
    /**
     * filters actions to include only those rendering at given position
     * @param position
     * @param fieldName
     * @returns {FilteredActions}
     */
    filter(position: string, fieldName?: string | null): FilteredActions;
    get header(): FilteredActions;
    get rowStart(): FilteredActions;
    get rowEnd(): FilteredActions;
    get rowClick(): FilteredActions;
    get rowRightClick(): FilteredActions;
    fieldAll(fieldName: string): FilteredActions;
    fieldStart(fieldName: string): FilteredActions;
    fieldEnd(fieldName: string): FilteredActions;
    get formHeader(): FilteredActions;
    get formFooter(): FilteredActions;
    get valueChanged(): FilteredActions;
}
export default FilteredActions;
//# sourceMappingURL=filtered-actions.d.ts.map