import '../../../../assert/js/assert.js';
import '../../../../globals.js';
import StrictOmit from '../../../../phet-core/js/types/StrictOmit.js';
import { Shape } from '../../../../kite/js/imports.js';
import Constructor from '../../../../phet-core/js/types/Constructor.js';
import IntentionalAny from '../../../../phet-core/js/types/IntentionalAny.js';
import ResponsePatternCollection from '../../../../utterance-queue/js/ResponsePatternCollection.js';
import { Highlight, Node, VoicingOptions } from '../../imports.js';
import { ResolvedResponse, VoicingResponse } from '../../../../utterance-queue/js/ResponsePacket.js';
import TEmitter from '../../../../axon/js/TEmitter.js';
import { TVoicing } from './Voicing.js';
type SelfOptions = {
    readingBlockTagName?: string | null;
    readingBlockNameResponse?: VoicingResponse;
    readingBlockHintResponse?: VoicingResponse;
    readingBlockResponsePatternCollection?: ResponsePatternCollection;
    readingBlockActiveHighlight?: null | Shape | Node;
};
type UnsupportedVoicingOptions = 'voicingNameResponse' | 'voicingObjectResponse' | 'voicingContextResponse' | 'voicingHintResponse' | 'voicingUtterance' | 'voicingResponsePatternCollection';
export type ReadingBlockOptions = SelfOptions & StrictOmit<VoicingOptions, UnsupportedVoicingOptions>;
export type TReadingBlock<SuperType extends Node = Node> = {
    readingBlockActiveHighlightChangedEmitter: TEmitter;
    get _isReadingBlock(): true;
    setReadingBlockTagName(tagName: string | null): void;
    readingBlockTagName: string | null;
    getReadingBlockTagName(): string | null;
    setReadingBlockNameResponse(content: VoicingResponse): void;
    set readingBlockNameResponse(content: VoicingResponse);
    get readingBlockNameResponse(): ResolvedResponse;
    getReadingBlockNameResponse(): ResolvedResponse;
    setReadingBlockHintResponse(content: VoicingResponse): void;
    set readingBlockHintResponse(content: VoicingResponse);
    get readingBlockHintResponse(): ResolvedResponse;
    getReadingBlockHintResponse(): ResolvedResponse;
    setReadingBlockResponsePatternCollection(patterns: ResponsePatternCollection): void;
    readingBlockResponsePatternCollection: ResponsePatternCollection;
    getReadingBlockResponsePatternCollection(): ResponsePatternCollection;
    setReadingBlockActiveHighlight(readingBlockActiveHighlight: Highlight): void;
    readingBlockActiveHighlight: Highlight;
    getReadingBlockActiveHighlight(): Highlight;
    isReadingBlockActivated(): boolean;
    get readingBlockActivated(): boolean;
} & TVoicing<SuperType>;
declare const ReadingBlock: <SuperType extends Constructor<Node>>(k: SuperType) => SuperType & Constructor<TReadingBlock<InstanceType<SuperType>>>;
export type ReadingBlockNode = Node & TReadingBlock;
export declare function isReadingBlock(something: IntentionalAny): something is ReadingBlockNode;
export default ReadingBlock;
//# sourceMappingURL=ReadingBlock.d.ts.map