import { Editor, NodeEntry, Range } from 'slate';
import { type Breakpoints, type BreakpointId, Slate } from '@makeswift/controls';
import { EditableBlockKey } from './BlockPlugin/types';
export declare function getSelection(editor: Editor): Range;
export declare function getBlocksInSelection(editor: Editor): NodeEntry<Slate.RootBlock>[];
export declare function getInlinesInSelection(editor: Editor): NodeEntry<Slate.Inline>[];
export declare function getActiveBlockType(editor: Editor): Slate.RootBlockType | null;
export declare function getActiveBlockValue(editor: Editor, key: EditableBlockKey): Slate.ResponsiveBlockTextAlignment | null;
export declare function getActiveBlockDeviceOverrideValue(editor: Editor, key: EditableBlockKey, breakpoints: Breakpoints, deviceId: BreakpointId): Slate.BlockTextAlignment | null;
/**
 * This is a c/p of the intersection of the utils from the root utils folder.
 * The only change is defaulting to undefined instead of to null.
 */
export default function intersection<A extends Record<string, unknown>, B extends A>(a: A, b: B, isEqual?: (a: unknown, b: unknown) => boolean): {
    [K in keyof A]: A[K] | undefined;
};
export declare function getActiveTypographyMark(editor: Editor, breakpoints: Breakpoints): Slate.Typography;
//# sourceMappingURL=selectors.d.ts.map