import { UploadFileRelationResponseCollection } from "@/generated/types";

export type WitnessProps = {
    lng: string
  }

export type WitnessCustom = {
    id: number;
  name: string;
  otherInfo: string;
  image:Image;
};

export type Image = {
    url: string;
    alt: string;
};

export type resultComment = {
    comments: string;
}

export type RootLayoutProps = {
  params: WitnessProps;
};

export type getComents = {
  indexOfFirst: number;
  lng: WitnessProps
}

export type  TranslationFunction = (key: string) => string

export type Maybe<T> = T | null;

export type Scalars = {
  ID: { input: string | number; output: string; }
  String: { input: string; output: string; }
  Boolean: { input: boolean; output: boolean; }
  Int: { input: number; output: number; }
  Float: { input: number; output: number; }
  DateTime: { input: any; output: any; }
  I18NLocaleCode: { input: any; output: any; }
  JSON: { input: any; output: any; }
  Upload: { input: any; output: any; }
};

export type WitnessRelationResponseCollection = {
  __typename?: 'WitnessRelationResponseCollection';
  data: Array<WitnessEntity>;
};

export type WitnessEntity = {
  __typename?: 'WitnessEntity';
  attributes?: Maybe<Witness>;
  id?: Maybe<Scalars['ID']['output']>;
};

export type Witness = {
  __typename?: 'Witness';
  comments?: Maybe<Scalars['String']['output']>;
  createdAt?: Maybe<Scalars['DateTime']['output']>;
  image?: Maybe<UploadFileRelationResponseCollection>;
  locale?: Maybe<Scalars['String']['output']>;
  localizations?: Maybe<WitnessRelationResponseCollection>;
  name?: Maybe<Scalars['String']['output']>;
  otherInfo?: Maybe<Scalars['String']['output']>;
  publishedAt?: Maybe<Scalars['DateTime']['output']>;
  updatedAt?: Maybe<Scalars['DateTime']['output']>;
};


export type UploadFile = {
  __typename?: 'UploadFile';
  alternativeText?: Maybe<Scalars['String']['output']>;
  caption?: Maybe<Scalars['String']['output']>;
  createdAt?: Maybe<Scalars['DateTime']['output']>;
  ext?: Maybe<Scalars['String']['output']>;
  formats?: Maybe<Scalars['JSON']['output']>;
  hash: Scalars['String']['output'];
  height?: Maybe<Scalars['Int']['output']>;
  mime: Scalars['String']['output'];
  name: Scalars['String']['output'];
  previewUrl?: Maybe<Scalars['String']['output']>;
  provider: Scalars['String']['output'];
  provider_metadata?: Maybe<Scalars['JSON']['output']>;
  size: Scalars['Float']['output'];
  updatedAt?: Maybe<Scalars['DateTime']['output']>;
  url: Scalars['String']['output'];
  width?: Maybe<Scalars['Int']['output']>;
};

export type WitnessResults = {
  __typename?: 'Witness';
  id: Scalars['ID']['output'];
  comments?: Maybe<Scalars['String']['output']>;
  createdAt?: Maybe<Scalars['DateTime']['output']>;
  image?: Array<UploadFile>;
  locale?: Maybe<Scalars['String']['output']>;
  localizations?: Maybe<WitnessRelationResponseCollection>;
  name?: Maybe<Scalars['String']['output']>;
  otherInfo?: Maybe<Scalars['String']['output']>;
  publishedAt?: Maybe<Scalars['DateTime']['output']>;
  updatedAt?: Maybe<Scalars['DateTime']['output']>;
};
