interface Range {
sheet: SheetId;
start: { row: number; col: number };
end: { row: number; col: number };
}interfaceRange {sheet:SheetId;start: { row:number; col:number };end: { row:number; col:number };}interfaceRange {sheet:SheetId;start: {row:number;col:number;};end: {row:number;col:number;};}Inclusive rectangular cell range on a stable sheet ID.API reference →type DataValidationCondition =
| {
kind: "list";
values: readonly CellScalar[];
allowCustom?: boolean;
}
| {
kind: "number";
min?: number;
max?: number;
integer?: boolean;
comparison?: DataValidationComparison;
}
| {
kind: "date";
// … 15 more lines — see the API reference
}typeDataValidationCondition=| {kind:"list";values:readonlyCellScalar[];allowCustom?:boolean;}| {kind:"number";min?:number;max?:number;integer?:boolean;comparison?:DataValidationComparison;}| {kind:"date";// … 15 more lines — see the API reference}typeDataValidationCondition=| {kind:"list";values:readonlyCellScalar[];allowCustom?:boolean;}| {kind:"number";min?:number;max?:number;integer?:boolean;comparison?:DataValidationComparison;}| {kind:"date";min?:number;max?:number;comparison?:DataValidationComparison;}// … 11 more lines — see the API reference}Serializable condition enforced by a data-validation rule. min and max remain inclusive legacy bounds. Use comparison when the operator itself is significant; comparison and legacy bounds are mutually exclusive.API reference →type ValidationPolicy = "reject" | "warn" | "allow";typeValidationPolicy="reject"|"warn"|"allow";typeValidationPolicy="reject"|"warn"|"allow";Reject-or-warn policy attached to a data-validation rule.API reference →