// @flow

// Test 1: Basic record with primitive types
record Person {
  name: string,
  age: number,
  active: boolean,
}

const p = Pe;
//          ^

// Test 2: Record with optional fields (should only suggest required fields)
record User {
  id: string,
  email: string = '',
  verified: boolean,
}

const u = Us;
//          ^

// Test 3: Record with complex types
type ComplexType = unknown;

record Data {
  value: ComplexType,
  ref: unknown,
}

const d = Da;
//          ^

// Test 4: Generic record
record Container<T> {
  content: T,
  id: string,
}

const c = Con;
//           ^

// Test 5: Record with all optional fields (generates `Optional {}`)
record Optional {
  a: number = 1,
  b: string = '',
}

const opt = Opt;
//             ^

// Test 6: Record with methods (should exclude methods from completion)
record WithMethods {
  field: string,
  method(): void {}
}

const wm = WithMe;
//               ^

// Test 7: Record with statics (should exclude methods from completion)
record WithStatics {
  field: string,
  static bar: number = 3,
}

const ws = WithSt;
//               ^
