import '../../assert/js/assert.js';
import '../../globals.js';
import Property from '../../axon/js/Property.js';
import PickRequired from '../../phet-core/js/types/PickRequired.js';
import PhetioObject, { PhetioObjectOptions } from '../../tandem/js/PhetioObject.js';
import { SpeakableNullableResolvedOptions } from './ResponsePacket.js';
type ResponseCollectorOptions = PhetioObjectOptions & PickRequired<PhetioObjectOptions, 'tandem'>;
declare class ResponseCollector extends PhetioObject {
    nameResponsesEnabledProperty: Property<boolean>;
    objectResponsesEnabledProperty: Property<boolean>;
    contextResponsesEnabledProperty: Property<boolean>;
    hintResponsesEnabledProperty: Property<boolean>;
    constructor(options?: ResponseCollectorOptions);
    reset(): void;
    /**
     * Prepares final output with an object response, a context response, and a hint. Each response
     * will only be added to the final string if that response type is included by the user. Rather than using
     * unique utterances, we use string interpolation so that the highlight around the abject being spoken
     * about stays lit for the entire combination of responses.
     */
    collectResponses(providedOptions?: SpeakableNullableResolvedOptions): string;
}
declare const responseCollector: ResponseCollector;
export default responseCollector;
//# sourceMappingURL=responseCollector.d.ts.map