declare global {
  type SelectOption = { value: number | string; label?: string; hidden?: boolean };

  type StateSetter<T> = React.Dispatch<React.SetStateAction<T>>;

  interface GlobalType {
    name: string;
  }

  type GlobalTypeWithAge = GlobalType & {
    age: string;
  };

  type GlobalTypeWithId = GlobalType & {
    id: string;
  };

  interface Window {
    /**
     * Optional, and honestly so: `createClient` reads this first but falls through to four other sources,
     * and `handleRevokedSession` clears it. Declaring it non-optional made "there is no token" unspeakable.
     */
    officerBearerToken?: string;
    __officerRuntimeBridge?: boolean;
  }
}

export {};

// [TODO] Generic on SelectOption
