/** * WordPress dependencies */ import type { ThunkArgs } from '@wordpress/data'; /** * Internal dependencies */ import type { BlockType, BlockCategory, BlockCollection, BlockStyle, BlockVariation, BlockBindingsSource, Icon } from '../types'; import type { store } from '.'; import type * as privateSelectors from './private-selectors'; import type * as privateActions from './private-actions'; /** * The state of the `core/blocks` redux store. */ export interface BlockStoreState { /** * Bootstrapped block types from server-side definitions. */ bootstrappedBlockTypes: Record>; /** * Unprocessed block types pending filter application. */ unprocessedBlockTypes: Record>; /** * Block types by name. */ blockTypes: Record; /** * Block styles by block name. */ blockStyles: Record; /** * Block variations by block name. */ blockVariations: Record; /** * Name of the default block. */ defaultBlockName: string | null; /** * Name of the block for handling non-block content. */ freeformFallbackBlockName: string | null; /** * Name of the block for handling unregistered blocks. */ unregisteredFallbackBlockName: string | null; /** * Name of the block for handling the grouping of blocks. */ groupingBlockName: string | null; /** * The available block categories. */ categories: BlockCategory[]; /** * The available collections. */ collections: Record; /** * Block bindings sources by name. * The stored form omits `name` since it's the record key. */ blockBindingsSources: Record>; } /** * Store action types. */ export type Action = { type: 'ADD_BOOTSTRAPPED_BLOCK_TYPE'; name: string; blockType: Record; } | { type: 'ADD_UNPROCESSED_BLOCK_TYPE'; name: string; blockType: Partial; } | { type: 'ADD_BLOCK_TYPES'; blockTypes: BlockType[]; } | { type: 'REMOVE_BLOCK_TYPES'; names: string[]; } | { type: 'ADD_BLOCK_STYLES'; blockNames: string[]; styles: BlockStyle[]; } | { type: 'REMOVE_BLOCK_STYLES'; blockName: string; styleNames: string[]; } | { type: 'ADD_BLOCK_VARIATIONS'; blockName: string; variations: BlockVariation[]; } | { type: 'REMOVE_BLOCK_VARIATIONS'; blockName: string; variationNames: string[]; } | { type: 'SET_DEFAULT_BLOCK_NAME'; name: string; } | { type: 'SET_FREEFORM_FALLBACK_BLOCK_NAME'; name: string; } | { type: 'SET_UNREGISTERED_FALLBACK_BLOCK_NAME'; name: string; } | { type: 'SET_GROUPING_BLOCK_NAME'; name: string; } | { type: 'SET_CATEGORIES'; categories: BlockCategory[]; } | { type: 'UPDATE_CATEGORY'; slug: string; category: Partial; } | { type: 'ADD_BLOCK_COLLECTION'; namespace: string; title: string; icon?: Icon; } | { type: 'REMOVE_BLOCK_COLLECTION'; namespace: string; } | { type: 'ADD_BLOCK_BINDINGS_SOURCE'; name: string; label?: string; usesContext?: string[]; getValues?: Function; setValues?: Function; canUserEditValue?: Function; getFieldsList?: Function; } | { type: 'REMOVE_BLOCK_BINDINGS_SOURCE'; name: string; }; /** * Thunk arguments for the blocks store, including private selectors and actions. */ export type BlocksStoreThunkArgs = ThunkArgs; //# sourceMappingURL=types.d.ts.map