/**
 * Returns a post attribute value, flattening nested rendered content using its
 * raw value in place of its original object form.
 *
 * @param {*} value Original value.
 *
 * @return {*} Raw value.
 */
export declare function getPostRawValue(value: any): any;
/**
 * Returns true if the two object arguments have the same keys, or false
 * otherwise.
 *
 * @param {Object} a First object.
 * @param {Object} b Second object.
 *
 * @return {boolean} Whether the two objects have the same keys.
 */
export declare function hasSameKeys(a: Object, b: Object): boolean;
/**
 * Returns true if, given the currently dispatching action and the previously
 * dispatched action, the two actions are editing the same post property, or
 * false otherwise.
 *
 * @param {Object} action         Currently dispatching action.
 * @param {Object} previousAction Previously dispatched action.
 *
 * @return {boolean} Whether actions are updating the same post property.
 */
export declare function isUpdatingSamePostProperty(action: Object, previousAction: Object): boolean;
/**
 * Returns true if, given the currently dispatching action and the previously
 * dispatched action, the two actions are modifying the same property such that
 * undo history should be batched.
 *
 * @param {Object} action         Currently dispatching action.
 * @param {Object} previousAction Previously dispatched action.
 *
 * @return {boolean} Whether to overwrite present state.
 */
export declare function shouldOverwriteState(action: Object, previousAction: Object): boolean;
export declare function postId(state: null | undefined, action: any): any;
export declare function templateId(state: null | undefined, action: any): any;
export declare function postType(state: null | undefined, action: any): any;
/**
 * Reducer returning whether the post blocks match the defined template or not.
 *
 * @param {Object} state  Current state.
 * @param {Object} action Dispatched action.
 *
 * @return {boolean} Updated state.
 */
export declare function template(state: Object | undefined, action: Object): boolean;
/**
 * Reducer returning current network request state (whether a request to
 * the WP REST API is in progress, successful, or failed).
 *
 * @param {Object} state  Current state.
 * @param {Object} action Dispatched action.
 *
 * @return {Object} Updated state.
 */
export declare function saving(state: Object | undefined, action: Object): Object;
/**
 * Reducer returning deleting post request state.
 *
 * @param {Object} state  Current state.
 * @param {Object} action Dispatched action.
 *
 * @return {Object} Updated state.
 */
export declare function deleting(state: Object | undefined, action: Object): Object;
export type PostLockState = {
    isLocked: boolean;
    isTakeover: boolean | null;
    activePostLock: boolean | null;
    user: Object | null;
};
/**
 * Post Lock State.
 *
 * @typedef {Object} PostLockState
 *
 * @property {boolean}  isLocked       Whether the post is locked.
 * @property {?boolean} isTakeover     Whether the post editing has been taken over.
 * @property {?boolean} activePostLock Active post lock value.
 * @property {?Object}  user           User that took over the post.
 */
/**
 * Reducer returning the post lock status.
 *
 * @param {PostLockState} state  Current state.
 * @param {Object}        action Dispatched action.
 *
 * @return {PostLockState} Updated state.
 */
export declare function postLock(state: PostLockState | undefined, action: Object): PostLockState;
/**
 * Post saving lock.
 *
 * When post saving is locked, the post cannot be published or updated.
 *
 * @param {PostLockState} state  Current state.
 * @param {Object}        action Dispatched action.
 *
 * @return {PostLockState} Updated state.
 */
export declare function postSavingLock(state: PostLockState | undefined, action: Object): PostLockState;
/**
 * Post autosaving lock.
 *
 * When post autosaving is locked, the post will not autosave.
 *
 * @param {PostLockState} state  Current state.
 * @param {Object}        action Dispatched action.
 *
 * @return {PostLockState} Updated state.
 */
export declare function postAutosavingLock(state: PostLockState | undefined, action: Object): PostLockState;
/**
 * Reducer returning the post editor setting.
 *
 * @param {Object} state  Current state.
 * @param {Object} action Dispatched action.
 *
 * @return {Object} Updated state.
 */
export declare function editorSettings(state: Object | undefined, action: Object): Object;
export declare function renderingMode(state: string | undefined, action: any): any;
/**
 * Reducer returning the editing canvas device type.
 *
 * @param {Object} state  Current state.
 * @param {Object} action Dispatched action.
 *
 * @return {Object} Updated state.
 */
export declare function deviceType(state: Object | undefined, action: Object): Object;
/**
 * Reducer storing the list of all programmatically removed panels.
 *
 * @param {Array}  state  Current state.
 * @param {Object} action Action object.
 *
 * @return {Array} Updated state.
 */
export declare function removedPanels(state: Array | undefined, action: Object): any[];
/**
 * Reducer to set the block inserter panel open or closed.
 *
 * Note: this reducer interacts with the list view panel reducer
 * to make sure that only one of the two panels is open at the same time.
 *
 * @param {Object} state  Current state.
 * @param {Object} action Dispatched action.
 */
export declare function blockInserterPanel(state: Object | undefined, action: Object): any;
/**
 * Reducer to set the list view panel open or closed.
 *
 * Note: this reducer interacts with the inserter panel reducer
 * to make sure that only one of the two panels is open at the same time.
 *
 * @param {Object} state  Current state.
 * @param {Object} action Dispatched action.
 */
export declare function listViewPanel(state: Object | undefined, action: Object): any;
/**
 * This reducer does nothing aside initializing a ref to the list view toggle.
 * We will have a unique ref per "editor" instance.
 *
 * @param {Object} state
 * @return {Object} Reference to the list view toggle button.
 */
export declare function listViewToggleRef(state?: Object): Object;
/**
 * This reducer does nothing aside initializing a ref to the inserter sidebar toggle.
 * We will have a unique ref per "editor" instance.
 *
 * @param {Object} state
 * @return {Object} Reference to the inserter sidebar toggle button.
 */
export declare function inserterSidebarToggleRef(state?: Object): Object;
export declare function publishSidebarActive(state: boolean | undefined, action: any): boolean;
/**
 * Reducer for the current global styles navigation path.
 *
 * @param {string} state  Current state.
 * @param {Object} action Dispatched action.
 * @return {string} Updated state.
 */
export declare function stylesPath(state: string | undefined, action: Object): string;
/**
 * Reducer for whether the stylebook is visible.
 *
 * @param {boolean} state  Current state.
 * @param {Object}  action Dispatched action.
 * @return {boolean} Updated state.
 */
export declare function showStylebook(state: boolean | undefined, action: Object): boolean;
/**
 * Reducer for the revisions preview mode.
 * Stores the current revision ID, or null if not in revisions mode.
 *
 * @param {number|null} state  Current revision ID.
 * @param {Object}      action Dispatched action.
 * @return {number|null} Updated state.
 */
export declare function revisionId(state: (number | null) | undefined, action: Object): number | null;
/**
 * Reducer for the current revisions page number.
 *
 * @param {number} state  Current page number.
 * @param {Object} action Dispatched action.
 * @return {number} Updated state.
 */
export declare function revisionPage(state: number | undefined, action: Object): number;
/**
 * Reducer for whether the revision diff is shown.
 * Resets to true when entering/exiting revisions mode.
 *
 * @param {boolean} state  Current state.
 * @param {Object}  action Dispatched action.
 * @return {boolean} Updated state.
 */
export declare function showRevisionDiff(state: boolean | undefined, action: Object): boolean;
/**
 * Reducer returning the currently selected note and its options.
 *
 * @param {Object} state  Current state.
 * @param {Object} action Dispatched action.
 * @return {Object} Updated state.
 */
export declare function selectedNote(state: Object | undefined, action: Object): Object;
declare const _default: import("redux").Reducer<{
    postId: any;
    postType: any;
    templateId: any;
    saving: Object;
    deleting: Object;
    postLock: PostLockState;
    template: boolean;
    postSavingLock: PostLockState;
    editorSettings: Object;
    postAutosavingLock: PostLockState;
    renderingMode: any;
    deviceType: Object;
    removedPanels: any[];
    blockInserterPanel: typeof blockInserterPanel;
    inserterSidebarToggleRef: Object;
    listViewPanel: typeof listViewPanel;
    listViewToggleRef: Object;
    publishSidebarActive: boolean;
    stylesPath: string;
    showStylebook: boolean;
    revisionId: number | null;
    revisionPage: number;
    showRevisionDiff: boolean;
    selectedNote: Object;
    dataviews: {
        actions: {
            [x: string]: Record<string, import("@wordpress/dataviews").Action<any>[]> | {
                [x: string]: import("@wordpress/dataviews").Action<any>[] | (import("@wordpress/dataviews").Action<any> | import("@wordpress/dataviews").Action<unknown>)[];
            };
        };
        fields: {
            [x: string]: Record<string, import("@wordpress/dataviews").Field<any>[]> | {
                [x: string]: import("@wordpress/dataviews").Field<any>[] | (import("@wordpress/dataviews").Field<any> | import("@wordpress/dataviews").Field<unknown>)[];
            };
        };
        isReady: import("../dataviews/store/reducer").ReadyState;
    };
}, any, Partial<{
    postId: null | undefined;
    postType: null | undefined;
    templateId: null | undefined;
    saving: Object | undefined;
    deleting: Object | undefined;
    postLock: PostLockState | undefined;
    template: Object | undefined;
    postSavingLock: PostLockState | undefined;
    editorSettings: Object | undefined;
    postAutosavingLock: PostLockState | undefined;
    renderingMode: string | undefined;
    deviceType: Object | undefined;
    removedPanels: any[] | undefined;
    blockInserterPanel: Object | undefined;
    inserterSidebarToggleRef: Object | undefined;
    listViewPanel: Object | undefined;
    listViewToggleRef: Object | undefined;
    publishSidebarActive: boolean | undefined;
    stylesPath: string | undefined;
    showStylebook: boolean | undefined;
    revisionId: number | null | undefined;
    revisionPage: number | undefined;
    showRevisionDiff: boolean | undefined;
    selectedNote: Object | undefined;
    dataviews: never;
}>>;
export default _default;
//# sourceMappingURL=reducer.d.ts.map