import { Action } from './types';
import { KnapsackSettings } from '../../schemas/knapsack.settings';
declare const REQUEST = "knapsack/settings/REQUEST";
declare const RECEIVE = "knapsack/settings/RECEIVE";
declare const UPDATE = "knapsack/settings/UPDATE";
export interface SettingsState {
    isFetching?: boolean;
    didInvalidate?: boolean;
    settings: KnapsackSettings;
}
interface RequestSettingsAction extends Action {
    type: typeof REQUEST;
}
interface ReceiveSettingsAction extends Action {
    type: typeof RECEIVE;
    payload: KnapsackSettings;
}
interface UpdateSettingsAction extends Action {
    type: typeof UPDATE;
    payload: KnapsackSettings;
}
export declare type SettingsActionTypes = ReceiveSettingsAction | RequestSettingsAction | UpdateSettingsAction;
export declare function updateSettings(settings: KnapsackSettings): UpdateSettingsAction;
export declare function fetchSettingsIfNeeded(): (dispatch: any, getState: any) => any;
export default function reducer(state: SettingsState, action: SettingsActionTypes): SettingsState;
export {};
//# sourceMappingURL=settings.d.ts.map