/**
 * Test oracle for user-message composition. Predicts the ordered block kinds
 * emitted for submit options plus prior-context eligibility.
 *
 * The composer must not call this helper; tests compare the two independently
 * so ordering regressions are caught.
 */
import type { AgentFileUpload } from '../../contracts/agent-uploads.js';
import type { FocusedRange, RangeRestriction } from '../../contracts/user-turn-enrichments.js';
export type BlockKind = 'query' | 'workbook-summary' | 'focused-range' | 'range-restrictions' | 'uploads' | 'context-update-warning';
export interface ExpectedBlockKindsInput {
    fileUploads?: readonly AgentFileUpload[];
    workbookSummary?: string;
    focusedRange?: FocusedRange;
    rangeRestrictions?: readonly RangeRestriction[];
    /**
     * The composer treats this as "should the warning fire?". Computed by the
     * caller (typically `hasPriorUserEquivalent(agent.state.messages)` —
     * see `build-user-message.ts`).
     */
    contextWarningEligible: boolean;
}
export declare function expectedBlockKinds(input: ExpectedBlockKindsInput): BlockKind[];
//# sourceMappingURL=expected-block-kinds.d.ts.map