import {FieldsSelection,Observable} from '@genql/runtime'

export type Scalars = {
    Boolean: boolean,
    DataPointValue: any,
    Float: number,
    ID: string,
    Int: number,
    Int64: any,
    JSONObject: any,
    String: string,
    Timestamp: any,
}

export interface Actor {
    name?: Scalars['String']
    age?: Scalars['Int']
    externalId: Scalars['ID']
    __typename: 'Actor'
}

export interface ActorAggregateConnection {
    edges: (_ActorAggregateEdge | undefined)[]
    items: (ActorAggregateResult | undefined)[]
    pageInfo: PageInfo
    __typename: 'ActorAggregateConnection'
}

export interface ActorAggregateResult {
    group?: Scalars['JSONObject']
    avg?: _ActorAggregateFieldResult
    min?: _ActorAggregateFieldResult
    max?: _ActorAggregateFieldResult
    count?: _ActorAggregateFieldCountResult
    sum?: _ActorAggregateFieldResult
    histogram?: _ActorAggregateHistogramFieldResult
    __typename: 'ActorAggregateResult'
}

export interface ActorConnection {
    edges: (_ActorEdge | undefined)[]
    items: (Actor | undefined)[]
    pageInfo: PageInfo
    __typename: 'ActorConnection'
}

export interface DataPoint {
    timestamp?: Scalars['Timestamp']
    value?: Scalars['DataPointValue']
    __typename: 'DataPoint'
}

export interface Movie {
    name?: Scalars['String']
    actors?: ActorConnection
    watchedIt?: Scalars['Boolean']
    externalId: Scalars['ID']
    __typename: 'Movie'
}

export interface MovieAggregateConnection {
    edges: (_MovieAggregateEdge | undefined)[]
    items: (MovieAggregateResult | undefined)[]
    pageInfo: PageInfo
    __typename: 'MovieAggregateConnection'
}

export interface MovieAggregateResult {
    group?: Scalars['JSONObject']
    avg?: _MovieAggregateFieldResult
    min?: _MovieAggregateFieldResult
    max?: _MovieAggregateFieldResult
    count?: _MovieAggregateFieldCountResult
    sum?: _MovieAggregateFieldResult
    histogram?: _MovieAggregateHistogramFieldResult
    __typename: 'MovieAggregateResult'
}

export interface MovieConnection {
    edges: (_MovieEdge | undefined)[]
    items: (Movie | undefined)[]
    pageInfo: PageInfo
    __typename: 'MovieConnection'
}

export interface Mutation {
    _empty: Scalars['Boolean']
    __typename: 'Mutation'
}

export interface PageInfo {
    hasPreviousPage: Scalars['Boolean']
    hasNextPage: Scalars['Boolean']
    startCursor?: Scalars['String']
    endCursor?: Scalars['String']
    __typename: 'PageInfo'
}

export interface Query {
    listMovie?: MovieConnection
    searchMovie?: MovieConnection
    aggregateMovie?: MovieAggregateConnection
    listActor?: ActorConnection
    searchActor?: ActorConnection
    aggregateActor?: ActorAggregateConnection
    __typename: 'Query'
}

export type SortDirection = 'ASC' | 'DESC'

export interface TimeSeries {
    id?: Scalars['Int64']
    externalId?: Scalars['String']
    name?: Scalars['String']
    isString?: Scalars['Boolean']
    metadata?: Scalars['JSONObject']
    unit?: Scalars['String']
    assetId?: Scalars['Int64']
    isStep?: Scalars['Boolean']
    description?: Scalars['String']
    securityCategories?: (Scalars['Int64'] | undefined)[]
    datasetId?: Scalars['Int64']
    dataPoints?: (DataPoint | undefined)[]
    __typename: 'TimeSeries'
}

export interface _ActorAggregateEdge {
    node: ActorAggregateResult
    cursor?: Scalars['String']
    __typename: '_ActorAggregateEdge'
}

export interface _ActorAggregateFieldCountResult {
    externalId?: Scalars['Int']
    name?: Scalars['Int']
    age?: Scalars['Int']
    __typename: '_ActorAggregateFieldCountResult'
}

export interface _ActorAggregateFieldResult {
    age?: Scalars['Float']
    __typename: '_ActorAggregateFieldResult'
}

export interface _ActorAggregateHistogramFieldResult {
    age?: (_AggregateHistogramObjectType | undefined)[]
    __typename: '_ActorAggregateHistogramFieldResult'
}

export interface _ActorEdge {
    node: Actor
    cursor?: Scalars['String']
    __typename: '_ActorEdge'
}

export interface _AggregateHistogramObjectType {
    start?: Scalars['Int']
    count?: Scalars['Int']
    __typename: '_AggregateHistogramObjectType'
}

export interface _MovieAggregateEdge {
    node: MovieAggregateResult
    cursor?: Scalars['String']
    __typename: '_MovieAggregateEdge'
}

export interface _MovieAggregateFieldCountResult {
    externalId?: Scalars['Int']
    name?: Scalars['Int']
    watchedIt?: Scalars['Int']
    __typename: '_MovieAggregateFieldCountResult'
}

export interface _MovieAggregateFieldResult {
    _empty: Scalars['Int']
    __typename: '_MovieAggregateFieldResult'
}

export interface _MovieAggregateHistogramFieldResult {
    _empty?: (_AggregateHistogramObjectType | undefined)[]
    __typename: '_MovieAggregateHistogramFieldResult'
}

export interface _MovieEdge {
    node: Movie
    cursor?: Scalars['String']
    __typename: '_MovieEdge'
}

export type _SearchActorFields = 'name' | 'age' | 'externalId'

export type _SearchMovieFields = 'name' | 'watchedIt' | 'externalId'

export interface ActorRequest{
    name?: boolean | number
    age?: boolean | number
    externalId?: boolean | number
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface ActorAggregateConnectionRequest{
    edges?: _ActorAggregateEdgeRequest
    items?: ActorAggregateResultRequest
    pageInfo?: PageInfoRequest
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface ActorAggregateResultRequest{
    group?: boolean | number
    avg?: _ActorAggregateFieldResultRequest
    min?: _ActorAggregateFieldResultRequest
    max?: _ActorAggregateFieldResultRequest
    count?: _ActorAggregateFieldCountResultRequest
    sum?: _ActorAggregateFieldResultRequest
    histogram?: [{interval: Scalars['Int']},_ActorAggregateHistogramFieldResultRequest]
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface ActorConnectionRequest{
    edges?: _ActorEdgeRequest
    items?: ActorRequest
    pageInfo?: PageInfoRequest
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface DataPointRequest{
    timestamp?: boolean | number
    value?: boolean | number
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface MovieRequest{
    name?: boolean | number
    actors?: [{first?: (Scalars['Int'] | null),after?: (Scalars['String'] | null),filter?: (_ListActorFilter | null),sort?: (_ActorSort[] | null)},ActorConnectionRequest] | ActorConnectionRequest
    watchedIt?: boolean | number
    externalId?: boolean | number
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface MovieAggregateConnectionRequest{
    edges?: _MovieAggregateEdgeRequest
    items?: MovieAggregateResultRequest
    pageInfo?: PageInfoRequest
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface MovieAggregateResultRequest{
    group?: boolean | number
    avg?: _MovieAggregateFieldResultRequest
    min?: _MovieAggregateFieldResultRequest
    max?: _MovieAggregateFieldResultRequest
    count?: _MovieAggregateFieldCountResultRequest
    sum?: _MovieAggregateFieldResultRequest
    histogram?: [{interval: Scalars['Int']},_MovieAggregateHistogramFieldResultRequest]
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface MovieConnectionRequest{
    edges?: _MovieEdgeRequest
    items?: MovieRequest
    pageInfo?: PageInfoRequest
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface MutationRequest{
    _empty?: boolean | number
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface PageInfoRequest{
    hasPreviousPage?: boolean | number
    hasNextPage?: boolean | number
    startCursor?: boolean | number
    endCursor?: boolean | number
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface QueryRequest{
    listMovie?: [{first?: (Scalars['Int'] | null),after?: (Scalars['String'] | null),filter?: (_ListMovieFilter | null),sort?: (_MovieSort[] | null)},MovieConnectionRequest] | MovieConnectionRequest
    searchMovie?: [{query: Scalars['String'],fields?: (_SearchMovieFields[] | null),filter?: (_SearchMovieFilter | null),first?: (Scalars['Int'] | null)},MovieConnectionRequest]
    aggregateMovie?: [{query?: (Scalars['String'] | null),fields?: (_SearchMovieFields[] | null),groupBy?: (_SearchMovieFields[] | null),filter?: (_SearchMovieFilter | null),after?: (Scalars['String'] | null)},MovieAggregateConnectionRequest] | MovieAggregateConnectionRequest
    listActor?: [{first?: (Scalars['Int'] | null),after?: (Scalars['String'] | null),filter?: (_ListActorFilter | null),sort?: (_ActorSort[] | null)},ActorConnectionRequest] | ActorConnectionRequest
    searchActor?: [{query: Scalars['String'],fields?: (_SearchActorFields[] | null),filter?: (_SearchActorFilter | null),first?: (Scalars['Int'] | null)},ActorConnectionRequest]
    aggregateActor?: [{query?: (Scalars['String'] | null),fields?: (_SearchActorFields[] | null),groupBy?: (_SearchActorFields[] | null),filter?: (_SearchActorFilter | null),after?: (Scalars['String'] | null)},ActorAggregateConnectionRequest] | ActorAggregateConnectionRequest
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface TimeSeriesRequest{
    id?: boolean | number
    externalId?: boolean | number
    name?: boolean | number
    isString?: boolean | number
    metadata?: boolean | number
    unit?: boolean | number
    assetId?: boolean | number
    isStep?: boolean | number
    description?: boolean | number
    securityCategories?: boolean | number
    datasetId?: boolean | number
    dataPoints?: [{start?: (Scalars['Int64'] | null),end?: (Scalars['Int64'] | null),limit?: (Scalars['Int'] | null)},DataPointRequest] | DataPointRequest
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface _ActorAggregateEdgeRequest{
    node?: ActorAggregateResultRequest
    cursor?: boolean | number
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface _ActorAggregateFieldCountResultRequest{
    externalId?: boolean | number
    name?: boolean | number
    age?: boolean | number
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface _ActorAggregateFieldResultRequest{
    age?: boolean | number
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface _ActorAggregateHistogramFieldResultRequest{
    age?: _AggregateHistogramObjectTypeRequest
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface _ActorEdgeRequest{
    node?: ActorRequest
    cursor?: boolean | number
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface _ActorSort {externalId?: (SortDirection | null),name?: (SortDirection | null),age?: (SortDirection | null)}

export interface _AggregateHistogramObjectTypeRequest{
    start?: boolean | number
    count?: boolean | number
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface _BooleanCondition {eq?: (Scalars['Boolean'] | null),isNull?: (Scalars['Boolean'] | null),in?: (Scalars['Boolean'][] | null)}

export interface _FloatCondition {eq?: (Scalars['Float'] | null),isNull?: (Scalars['Boolean'] | null),in?: (Scalars['Float'][] | null),gt?: (Scalars['Float'] | null),lt?: (Scalars['Float'] | null),gte?: (Scalars['Float'] | null),lte?: (Scalars['Float'] | null)}

export interface _IDCondition {eq?: (Scalars['ID'] | null),isNull?: (Scalars['Boolean'] | null),in?: (Scalars['ID'][] | null)}

export interface _Int64Condition {eq?: (Scalars['Int64'] | null),isNull?: (Scalars['Boolean'] | null),in?: (Scalars['Int64'][] | null),gt?: (Scalars['Int64'] | null),lt?: (Scalars['Int64'] | null),gte?: (Scalars['Int64'] | null),lte?: (Scalars['Int64'] | null)}

export interface _IntCondition {eq?: (Scalars['Int'] | null),isNull?: (Scalars['Boolean'] | null),in?: (Scalars['Int'][] | null),gt?: (Scalars['Int'] | null),lt?: (Scalars['Int'] | null),gte?: (Scalars['Int'] | null),lte?: (Scalars['Int'] | null)}

export interface _ListActorFilter {and?: (_ListActorFilter[] | null),or?: (_ListActorFilter[] | null),not?: (_ListActorFilter | null),externalId?: (_IDCondition | null),name?: (_StringCondition | null),age?: (_IntCondition | null)}

export interface _ListBooleanFilter {containsAll?: ((Scalars['Boolean'] | null)[] | null),containsAny?: ((Scalars['Boolean'] | null)[] | null)}

export interface _ListFloatFilter {containsAll?: ((Scalars['Float'] | null)[] | null),containsAny?: ((Scalars['Float'] | null)[] | null)}

export interface _ListIDFilter {containsAll?: ((Scalars['ID'] | null)[] | null),containsAny?: ((Scalars['ID'] | null)[] | null)}

export interface _ListInt64Filter {containsAll?: ((Scalars['Int64'] | null)[] | null),containsAny?: ((Scalars['Int64'] | null)[] | null)}

export interface _ListIntFilter {containsAll?: ((Scalars['Int'] | null)[] | null),containsAny?: ((Scalars['Int'] | null)[] | null)}

export interface _ListMovieFilter {and?: (_ListMovieFilter[] | null),or?: (_ListMovieFilter[] | null),not?: (_ListMovieFilter | null),externalId?: (_IDCondition | null),name?: (_StringCondition | null),watchedIt?: (_BooleanCondition | null)}

export interface _ListStringFilter {containsAll?: ((Scalars['String'] | null)[] | null),containsAny?: ((Scalars['String'] | null)[] | null)}

export interface _ListTimestampFilter {containsAll?: ((Scalars['Timestamp'] | null)[] | null),containsAny?: ((Scalars['Timestamp'] | null)[] | null)}

export interface _MovieAggregateEdgeRequest{
    node?: MovieAggregateResultRequest
    cursor?: boolean | number
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface _MovieAggregateFieldCountResultRequest{
    externalId?: boolean | number
    name?: boolean | number
    watchedIt?: boolean | number
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface _MovieAggregateFieldResultRequest{
    _empty?: boolean | number
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface _MovieAggregateHistogramFieldResultRequest{
    _empty?: _AggregateHistogramObjectTypeRequest
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface _MovieEdgeRequest{
    node?: MovieRequest
    cursor?: boolean | number
    __typename?: boolean | number
    __scalar?: boolean | number
}

export interface _MovieSort {externalId?: (SortDirection | null),name?: (SortDirection | null),watchedIt?: (SortDirection | null)}

export interface _SearchActorFilter {and?: (_SearchActorFilter[] | null),or?: (_SearchActorFilter[] | null),not?: (_SearchActorFilter | null),externalId?: (_IDCondition | null),name?: (_StringCondition | null),age?: (_IntCondition | null)}

export interface _SearchMovieFilter {and?: (_SearchMovieFilter[] | null),or?: (_SearchMovieFilter[] | null),not?: (_SearchMovieFilter | null),externalId?: (_IDCondition | null),name?: (_StringCondition | null),watchedIt?: (_BooleanCondition | null)}

export interface _StringCondition {eq?: (Scalars['String'] | null),isNull?: (Scalars['Boolean'] | null),in?: (Scalars['String'][] | null),gt?: (Scalars['String'] | null),lt?: (Scalars['String'] | null),gte?: (Scalars['String'] | null),lte?: (Scalars['String'] | null),prefix?: (Scalars['String'] | null)}

export interface _TimestampCondition {eq?: (Scalars['Timestamp'] | null),isNull?: (Scalars['Boolean'] | null),in?: (Scalars['Timestamp'][] | null),gt?: (Scalars['Timestamp'] | null),lt?: (Scalars['Timestamp'] | null),gte?: (Scalars['Timestamp'] | null),lte?: (Scalars['Timestamp'] | null)}


const Actor_possibleTypes: string[] = ['Actor']
export const isActor = (obj?: { __typename?: any } | null): obj is Actor => {
  if (!obj?.__typename) throw new Error('__typename is missing in "isActor"')
  return Actor_possibleTypes.includes(obj.__typename)
}



const ActorAggregateConnection_possibleTypes: string[] = ['ActorAggregateConnection']
export const isActorAggregateConnection = (obj?: { __typename?: any } | null): obj is ActorAggregateConnection => {
  if (!obj?.__typename) throw new Error('__typename is missing in "isActorAggregateConnection"')
  return ActorAggregateConnection_possibleTypes.includes(obj.__typename)
}



const ActorAggregateResult_possibleTypes: string[] = ['ActorAggregateResult']
export const isActorAggregateResult = (obj?: { __typename?: any } | null): obj is ActorAggregateResult => {
  if (!obj?.__typename) throw new Error('__typename is missing in "isActorAggregateResult"')
  return ActorAggregateResult_possibleTypes.includes(obj.__typename)
}



const ActorConnection_possibleTypes: string[] = ['ActorConnection']
export const isActorConnection = (obj?: { __typename?: any } | null): obj is ActorConnection => {
  if (!obj?.__typename) throw new Error('__typename is missing in "isActorConnection"')
  return ActorConnection_possibleTypes.includes(obj.__typename)
}



const DataPoint_possibleTypes: string[] = ['DataPoint']
export const isDataPoint = (obj?: { __typename?: any } | null): obj is DataPoint => {
  if (!obj?.__typename) throw new Error('__typename is missing in "isDataPoint"')
  return DataPoint_possibleTypes.includes(obj.__typename)
}



const Movie_possibleTypes: string[] = ['Movie']
export const isMovie = (obj?: { __typename?: any } | null): obj is Movie => {
  if (!obj?.__typename) throw new Error('__typename is missing in "isMovie"')
  return Movie_possibleTypes.includes(obj.__typename)
}



const MovieAggregateConnection_possibleTypes: string[] = ['MovieAggregateConnection']
export const isMovieAggregateConnection = (obj?: { __typename?: any } | null): obj is MovieAggregateConnection => {
  if (!obj?.__typename) throw new Error('__typename is missing in "isMovieAggregateConnection"')
  return MovieAggregateConnection_possibleTypes.includes(obj.__typename)
}



const MovieAggregateResult_possibleTypes: string[] = ['MovieAggregateResult']
export const isMovieAggregateResult = (obj?: { __typename?: any } | null): obj is MovieAggregateResult => {
  if (!obj?.__typename) throw new Error('__typename is missing in "isMovieAggregateResult"')
  return MovieAggregateResult_possibleTypes.includes(obj.__typename)
}



const MovieConnection_possibleTypes: string[] = ['MovieConnection']
export const isMovieConnection = (obj?: { __typename?: any } | null): obj is MovieConnection => {
  if (!obj?.__typename) throw new Error('__typename is missing in "isMovieConnection"')
  return MovieConnection_possibleTypes.includes(obj.__typename)
}



const Mutation_possibleTypes: string[] = ['Mutation']
export const isMutation = (obj?: { __typename?: any } | null): obj is Mutation => {
  if (!obj?.__typename) throw new Error('__typename is missing in "isMutation"')
  return Mutation_possibleTypes.includes(obj.__typename)
}



const PageInfo_possibleTypes: string[] = ['PageInfo']
export const isPageInfo = (obj?: { __typename?: any } | null): obj is PageInfo => {
  if (!obj?.__typename) throw new Error('__typename is missing in "isPageInfo"')
  return PageInfo_possibleTypes.includes(obj.__typename)
}



const Query_possibleTypes: string[] = ['Query']
export const isQuery = (obj?: { __typename?: any } | null): obj is Query => {
  if (!obj?.__typename) throw new Error('__typename is missing in "isQuery"')
  return Query_possibleTypes.includes(obj.__typename)
}



const TimeSeries_possibleTypes: string[] = ['TimeSeries']
export const isTimeSeries = (obj?: { __typename?: any } | null): obj is TimeSeries => {
  if (!obj?.__typename) throw new Error('__typename is missing in "isTimeSeries"')
  return TimeSeries_possibleTypes.includes(obj.__typename)
}



const _ActorAggregateEdge_possibleTypes: string[] = ['_ActorAggregateEdge']
export const is_ActorAggregateEdge = (obj?: { __typename?: any } | null): obj is _ActorAggregateEdge => {
  if (!obj?.__typename) throw new Error('__typename is missing in "is_ActorAggregateEdge"')
  return _ActorAggregateEdge_possibleTypes.includes(obj.__typename)
}



const _ActorAggregateFieldCountResult_possibleTypes: string[] = ['_ActorAggregateFieldCountResult']
export const is_ActorAggregateFieldCountResult = (obj?: { __typename?: any } | null): obj is _ActorAggregateFieldCountResult => {
  if (!obj?.__typename) throw new Error('__typename is missing in "is_ActorAggregateFieldCountResult"')
  return _ActorAggregateFieldCountResult_possibleTypes.includes(obj.__typename)
}



const _ActorAggregateFieldResult_possibleTypes: string[] = ['_ActorAggregateFieldResult']
export const is_ActorAggregateFieldResult = (obj?: { __typename?: any } | null): obj is _ActorAggregateFieldResult => {
  if (!obj?.__typename) throw new Error('__typename is missing in "is_ActorAggregateFieldResult"')
  return _ActorAggregateFieldResult_possibleTypes.includes(obj.__typename)
}



const _ActorAggregateHistogramFieldResult_possibleTypes: string[] = ['_ActorAggregateHistogramFieldResult']
export const is_ActorAggregateHistogramFieldResult = (obj?: { __typename?: any } | null): obj is _ActorAggregateHistogramFieldResult => {
  if (!obj?.__typename) throw new Error('__typename is missing in "is_ActorAggregateHistogramFieldResult"')
  return _ActorAggregateHistogramFieldResult_possibleTypes.includes(obj.__typename)
}



const _ActorEdge_possibleTypes: string[] = ['_ActorEdge']
export const is_ActorEdge = (obj?: { __typename?: any } | null): obj is _ActorEdge => {
  if (!obj?.__typename) throw new Error('__typename is missing in "is_ActorEdge"')
  return _ActorEdge_possibleTypes.includes(obj.__typename)
}



const _AggregateHistogramObjectType_possibleTypes: string[] = ['_AggregateHistogramObjectType']
export const is_AggregateHistogramObjectType = (obj?: { __typename?: any } | null): obj is _AggregateHistogramObjectType => {
  if (!obj?.__typename) throw new Error('__typename is missing in "is_AggregateHistogramObjectType"')
  return _AggregateHistogramObjectType_possibleTypes.includes(obj.__typename)
}



const _MovieAggregateEdge_possibleTypes: string[] = ['_MovieAggregateEdge']
export const is_MovieAggregateEdge = (obj?: { __typename?: any } | null): obj is _MovieAggregateEdge => {
  if (!obj?.__typename) throw new Error('__typename is missing in "is_MovieAggregateEdge"')
  return _MovieAggregateEdge_possibleTypes.includes(obj.__typename)
}



const _MovieAggregateFieldCountResult_possibleTypes: string[] = ['_MovieAggregateFieldCountResult']
export const is_MovieAggregateFieldCountResult = (obj?: { __typename?: any } | null): obj is _MovieAggregateFieldCountResult => {
  if (!obj?.__typename) throw new Error('__typename is missing in "is_MovieAggregateFieldCountResult"')
  return _MovieAggregateFieldCountResult_possibleTypes.includes(obj.__typename)
}



const _MovieAggregateFieldResult_possibleTypes: string[] = ['_MovieAggregateFieldResult']
export const is_MovieAggregateFieldResult = (obj?: { __typename?: any } | null): obj is _MovieAggregateFieldResult => {
  if (!obj?.__typename) throw new Error('__typename is missing in "is_MovieAggregateFieldResult"')
  return _MovieAggregateFieldResult_possibleTypes.includes(obj.__typename)
}



const _MovieAggregateHistogramFieldResult_possibleTypes: string[] = ['_MovieAggregateHistogramFieldResult']
export const is_MovieAggregateHistogramFieldResult = (obj?: { __typename?: any } | null): obj is _MovieAggregateHistogramFieldResult => {
  if (!obj?.__typename) throw new Error('__typename is missing in "is_MovieAggregateHistogramFieldResult"')
  return _MovieAggregateHistogramFieldResult_possibleTypes.includes(obj.__typename)
}



const _MovieEdge_possibleTypes: string[] = ['_MovieEdge']
export const is_MovieEdge = (obj?: { __typename?: any } | null): obj is _MovieEdge => {
  if (!obj?.__typename) throw new Error('__typename is missing in "is_MovieEdge"')
  return _MovieEdge_possibleTypes.includes(obj.__typename)
}


export interface ActorPromiseChain{
    name: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Promise<(Scalars['String'] | undefined)>}),
    age: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int'] | undefined)) => Promise<(Scalars['Int'] | undefined)>}),
    externalId: ({get: (request?: boolean|number, defaultValue?: Scalars['ID']) => Promise<Scalars['ID']>})
}

export interface ActorObservableChain{
    name: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Observable<(Scalars['String'] | undefined)>}),
    age: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int'] | undefined)) => Observable<(Scalars['Int'] | undefined)>}),
    externalId: ({get: (request?: boolean|number, defaultValue?: Scalars['ID']) => Observable<Scalars['ID']>})
}

export interface ActorAggregateConnectionPromiseChain{
    edges: ({get: <R extends _ActorAggregateEdgeRequest>(request: R, defaultValue?: (FieldsSelection<_ActorAggregateEdge, R> | undefined)[]) => Promise<(FieldsSelection<_ActorAggregateEdge, R> | undefined)[]>}),
    items: ({get: <R extends ActorAggregateResultRequest>(request: R, defaultValue?: (FieldsSelection<ActorAggregateResult, R> | undefined)[]) => Promise<(FieldsSelection<ActorAggregateResult, R> | undefined)[]>}),
    pageInfo: (PageInfoPromiseChain & {get: <R extends PageInfoRequest>(request: R, defaultValue?: FieldsSelection<PageInfo, R>) => Promise<FieldsSelection<PageInfo, R>>})
}

export interface ActorAggregateConnectionObservableChain{
    edges: ({get: <R extends _ActorAggregateEdgeRequest>(request: R, defaultValue?: (FieldsSelection<_ActorAggregateEdge, R> | undefined)[]) => Observable<(FieldsSelection<_ActorAggregateEdge, R> | undefined)[]>}),
    items: ({get: <R extends ActorAggregateResultRequest>(request: R, defaultValue?: (FieldsSelection<ActorAggregateResult, R> | undefined)[]) => Observable<(FieldsSelection<ActorAggregateResult, R> | undefined)[]>}),
    pageInfo: (PageInfoObservableChain & {get: <R extends PageInfoRequest>(request: R, defaultValue?: FieldsSelection<PageInfo, R>) => Observable<FieldsSelection<PageInfo, R>>})
}

export interface ActorAggregateResultPromiseChain{
    group: ({get: (request?: boolean|number, defaultValue?: (Scalars['JSONObject'] | undefined)) => Promise<(Scalars['JSONObject'] | undefined)>}),
    avg: (_ActorAggregateFieldResultPromiseChain & {get: <R extends _ActorAggregateFieldResultRequest>(request: R, defaultValue?: (FieldsSelection<_ActorAggregateFieldResult, R> | undefined)) => Promise<(FieldsSelection<_ActorAggregateFieldResult, R> | undefined)>}),
    min: (_ActorAggregateFieldResultPromiseChain & {get: <R extends _ActorAggregateFieldResultRequest>(request: R, defaultValue?: (FieldsSelection<_ActorAggregateFieldResult, R> | undefined)) => Promise<(FieldsSelection<_ActorAggregateFieldResult, R> | undefined)>}),
    max: (_ActorAggregateFieldResultPromiseChain & {get: <R extends _ActorAggregateFieldResultRequest>(request: R, defaultValue?: (FieldsSelection<_ActorAggregateFieldResult, R> | undefined)) => Promise<(FieldsSelection<_ActorAggregateFieldResult, R> | undefined)>}),
    count: (_ActorAggregateFieldCountResultPromiseChain & {get: <R extends _ActorAggregateFieldCountResultRequest>(request: R, defaultValue?: (FieldsSelection<_ActorAggregateFieldCountResult, R> | undefined)) => Promise<(FieldsSelection<_ActorAggregateFieldCountResult, R> | undefined)>}),
    sum: (_ActorAggregateFieldResultPromiseChain & {get: <R extends _ActorAggregateFieldResultRequest>(request: R, defaultValue?: (FieldsSelection<_ActorAggregateFieldResult, R> | undefined)) => Promise<(FieldsSelection<_ActorAggregateFieldResult, R> | undefined)>}),
    histogram: ((args: {interval: Scalars['Int']}) => _ActorAggregateHistogramFieldResultPromiseChain & {get: <R extends _ActorAggregateHistogramFieldResultRequest>(request: R, defaultValue?: (FieldsSelection<_ActorAggregateHistogramFieldResult, R> | undefined)) => Promise<(FieldsSelection<_ActorAggregateHistogramFieldResult, R> | undefined)>})
}

export interface ActorAggregateResultObservableChain{
    group: ({get: (request?: boolean|number, defaultValue?: (Scalars['JSONObject'] | undefined)) => Observable<(Scalars['JSONObject'] | undefined)>}),
    avg: (_ActorAggregateFieldResultObservableChain & {get: <R extends _ActorAggregateFieldResultRequest>(request: R, defaultValue?: (FieldsSelection<_ActorAggregateFieldResult, R> | undefined)) => Observable<(FieldsSelection<_ActorAggregateFieldResult, R> | undefined)>}),
    min: (_ActorAggregateFieldResultObservableChain & {get: <R extends _ActorAggregateFieldResultRequest>(request: R, defaultValue?: (FieldsSelection<_ActorAggregateFieldResult, R> | undefined)) => Observable<(FieldsSelection<_ActorAggregateFieldResult, R> | undefined)>}),
    max: (_ActorAggregateFieldResultObservableChain & {get: <R extends _ActorAggregateFieldResultRequest>(request: R, defaultValue?: (FieldsSelection<_ActorAggregateFieldResult, R> | undefined)) => Observable<(FieldsSelection<_ActorAggregateFieldResult, R> | undefined)>}),
    count: (_ActorAggregateFieldCountResultObservableChain & {get: <R extends _ActorAggregateFieldCountResultRequest>(request: R, defaultValue?: (FieldsSelection<_ActorAggregateFieldCountResult, R> | undefined)) => Observable<(FieldsSelection<_ActorAggregateFieldCountResult, R> | undefined)>}),
    sum: (_ActorAggregateFieldResultObservableChain & {get: <R extends _ActorAggregateFieldResultRequest>(request: R, defaultValue?: (FieldsSelection<_ActorAggregateFieldResult, R> | undefined)) => Observable<(FieldsSelection<_ActorAggregateFieldResult, R> | undefined)>}),
    histogram: ((args: {interval: Scalars['Int']}) => _ActorAggregateHistogramFieldResultObservableChain & {get: <R extends _ActorAggregateHistogramFieldResultRequest>(request: R, defaultValue?: (FieldsSelection<_ActorAggregateHistogramFieldResult, R> | undefined)) => Observable<(FieldsSelection<_ActorAggregateHistogramFieldResult, R> | undefined)>})
}

export interface ActorConnectionPromiseChain{
    edges: ({get: <R extends _ActorEdgeRequest>(request: R, defaultValue?: (FieldsSelection<_ActorEdge, R> | undefined)[]) => Promise<(FieldsSelection<_ActorEdge, R> | undefined)[]>}),
    items: ({get: <R extends ActorRequest>(request: R, defaultValue?: (FieldsSelection<Actor, R> | undefined)[]) => Promise<(FieldsSelection<Actor, R> | undefined)[]>}),
    pageInfo: (PageInfoPromiseChain & {get: <R extends PageInfoRequest>(request: R, defaultValue?: FieldsSelection<PageInfo, R>) => Promise<FieldsSelection<PageInfo, R>>})
}

export interface ActorConnectionObservableChain{
    edges: ({get: <R extends _ActorEdgeRequest>(request: R, defaultValue?: (FieldsSelection<_ActorEdge, R> | undefined)[]) => Observable<(FieldsSelection<_ActorEdge, R> | undefined)[]>}),
    items: ({get: <R extends ActorRequest>(request: R, defaultValue?: (FieldsSelection<Actor, R> | undefined)[]) => Observable<(FieldsSelection<Actor, R> | undefined)[]>}),
    pageInfo: (PageInfoObservableChain & {get: <R extends PageInfoRequest>(request: R, defaultValue?: FieldsSelection<PageInfo, R>) => Observable<FieldsSelection<PageInfo, R>>})
}

export interface DataPointPromiseChain{
    timestamp: ({get: (request?: boolean|number, defaultValue?: (Scalars['Timestamp'] | undefined)) => Promise<(Scalars['Timestamp'] | undefined)>}),
    value: ({get: (request?: boolean|number, defaultValue?: (Scalars['DataPointValue'] | undefined)) => Promise<(Scalars['DataPointValue'] | undefined)>})
}

export interface DataPointObservableChain{
    timestamp: ({get: (request?: boolean|number, defaultValue?: (Scalars['Timestamp'] | undefined)) => Observable<(Scalars['Timestamp'] | undefined)>}),
    value: ({get: (request?: boolean|number, defaultValue?: (Scalars['DataPointValue'] | undefined)) => Observable<(Scalars['DataPointValue'] | undefined)>})
}

export interface MoviePromiseChain{
    name: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Promise<(Scalars['String'] | undefined)>}),
    actors: ((args?: {first?: (Scalars['Int'] | null),after?: (Scalars['String'] | null),filter?: (_ListActorFilter | null),sort?: (_ActorSort[] | null)}) => ActorConnectionPromiseChain & {get: <R extends ActorConnectionRequest>(request: R, defaultValue?: (FieldsSelection<ActorConnection, R> | undefined)) => Promise<(FieldsSelection<ActorConnection, R> | undefined)>})&(ActorConnectionPromiseChain & {get: <R extends ActorConnectionRequest>(request: R, defaultValue?: (FieldsSelection<ActorConnection, R> | undefined)) => Promise<(FieldsSelection<ActorConnection, R> | undefined)>}),
    watchedIt: ({get: (request?: boolean|number, defaultValue?: (Scalars['Boolean'] | undefined)) => Promise<(Scalars['Boolean'] | undefined)>}),
    externalId: ({get: (request?: boolean|number, defaultValue?: Scalars['ID']) => Promise<Scalars['ID']>})
}

export interface MovieObservableChain{
    name: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Observable<(Scalars['String'] | undefined)>}),
    actors: ((args?: {first?: (Scalars['Int'] | null),after?: (Scalars['String'] | null),filter?: (_ListActorFilter | null),sort?: (_ActorSort[] | null)}) => ActorConnectionObservableChain & {get: <R extends ActorConnectionRequest>(request: R, defaultValue?: (FieldsSelection<ActorConnection, R> | undefined)) => Observable<(FieldsSelection<ActorConnection, R> | undefined)>})&(ActorConnectionObservableChain & {get: <R extends ActorConnectionRequest>(request: R, defaultValue?: (FieldsSelection<ActorConnection, R> | undefined)) => Observable<(FieldsSelection<ActorConnection, R> | undefined)>}),
    watchedIt: ({get: (request?: boolean|number, defaultValue?: (Scalars['Boolean'] | undefined)) => Observable<(Scalars['Boolean'] | undefined)>}),
    externalId: ({get: (request?: boolean|number, defaultValue?: Scalars['ID']) => Observable<Scalars['ID']>})
}

export interface MovieAggregateConnectionPromiseChain{
    edges: ({get: <R extends _MovieAggregateEdgeRequest>(request: R, defaultValue?: (FieldsSelection<_MovieAggregateEdge, R> | undefined)[]) => Promise<(FieldsSelection<_MovieAggregateEdge, R> | undefined)[]>}),
    items: ({get: <R extends MovieAggregateResultRequest>(request: R, defaultValue?: (FieldsSelection<MovieAggregateResult, R> | undefined)[]) => Promise<(FieldsSelection<MovieAggregateResult, R> | undefined)[]>}),
    pageInfo: (PageInfoPromiseChain & {get: <R extends PageInfoRequest>(request: R, defaultValue?: FieldsSelection<PageInfo, R>) => Promise<FieldsSelection<PageInfo, R>>})
}

export interface MovieAggregateConnectionObservableChain{
    edges: ({get: <R extends _MovieAggregateEdgeRequest>(request: R, defaultValue?: (FieldsSelection<_MovieAggregateEdge, R> | undefined)[]) => Observable<(FieldsSelection<_MovieAggregateEdge, R> | undefined)[]>}),
    items: ({get: <R extends MovieAggregateResultRequest>(request: R, defaultValue?: (FieldsSelection<MovieAggregateResult, R> | undefined)[]) => Observable<(FieldsSelection<MovieAggregateResult, R> | undefined)[]>}),
    pageInfo: (PageInfoObservableChain & {get: <R extends PageInfoRequest>(request: R, defaultValue?: FieldsSelection<PageInfo, R>) => Observable<FieldsSelection<PageInfo, R>>})
}

export interface MovieAggregateResultPromiseChain{
    group: ({get: (request?: boolean|number, defaultValue?: (Scalars['JSONObject'] | undefined)) => Promise<(Scalars['JSONObject'] | undefined)>}),
    avg: (_MovieAggregateFieldResultPromiseChain & {get: <R extends _MovieAggregateFieldResultRequest>(request: R, defaultValue?: (FieldsSelection<_MovieAggregateFieldResult, R> | undefined)) => Promise<(FieldsSelection<_MovieAggregateFieldResult, R> | undefined)>}),
    min: (_MovieAggregateFieldResultPromiseChain & {get: <R extends _MovieAggregateFieldResultRequest>(request: R, defaultValue?: (FieldsSelection<_MovieAggregateFieldResult, R> | undefined)) => Promise<(FieldsSelection<_MovieAggregateFieldResult, R> | undefined)>}),
    max: (_MovieAggregateFieldResultPromiseChain & {get: <R extends _MovieAggregateFieldResultRequest>(request: R, defaultValue?: (FieldsSelection<_MovieAggregateFieldResult, R> | undefined)) => Promise<(FieldsSelection<_MovieAggregateFieldResult, R> | undefined)>}),
    count: (_MovieAggregateFieldCountResultPromiseChain & {get: <R extends _MovieAggregateFieldCountResultRequest>(request: R, defaultValue?: (FieldsSelection<_MovieAggregateFieldCountResult, R> | undefined)) => Promise<(FieldsSelection<_MovieAggregateFieldCountResult, R> | undefined)>}),
    sum: (_MovieAggregateFieldResultPromiseChain & {get: <R extends _MovieAggregateFieldResultRequest>(request: R, defaultValue?: (FieldsSelection<_MovieAggregateFieldResult, R> | undefined)) => Promise<(FieldsSelection<_MovieAggregateFieldResult, R> | undefined)>}),
    histogram: ((args: {interval: Scalars['Int']}) => _MovieAggregateHistogramFieldResultPromiseChain & {get: <R extends _MovieAggregateHistogramFieldResultRequest>(request: R, defaultValue?: (FieldsSelection<_MovieAggregateHistogramFieldResult, R> | undefined)) => Promise<(FieldsSelection<_MovieAggregateHistogramFieldResult, R> | undefined)>})
}

export interface MovieAggregateResultObservableChain{
    group: ({get: (request?: boolean|number, defaultValue?: (Scalars['JSONObject'] | undefined)) => Observable<(Scalars['JSONObject'] | undefined)>}),
    avg: (_MovieAggregateFieldResultObservableChain & {get: <R extends _MovieAggregateFieldResultRequest>(request: R, defaultValue?: (FieldsSelection<_MovieAggregateFieldResult, R> | undefined)) => Observable<(FieldsSelection<_MovieAggregateFieldResult, R> | undefined)>}),
    min: (_MovieAggregateFieldResultObservableChain & {get: <R extends _MovieAggregateFieldResultRequest>(request: R, defaultValue?: (FieldsSelection<_MovieAggregateFieldResult, R> | undefined)) => Observable<(FieldsSelection<_MovieAggregateFieldResult, R> | undefined)>}),
    max: (_MovieAggregateFieldResultObservableChain & {get: <R extends _MovieAggregateFieldResultRequest>(request: R, defaultValue?: (FieldsSelection<_MovieAggregateFieldResult, R> | undefined)) => Observable<(FieldsSelection<_MovieAggregateFieldResult, R> | undefined)>}),
    count: (_MovieAggregateFieldCountResultObservableChain & {get: <R extends _MovieAggregateFieldCountResultRequest>(request: R, defaultValue?: (FieldsSelection<_MovieAggregateFieldCountResult, R> | undefined)) => Observable<(FieldsSelection<_MovieAggregateFieldCountResult, R> | undefined)>}),
    sum: (_MovieAggregateFieldResultObservableChain & {get: <R extends _MovieAggregateFieldResultRequest>(request: R, defaultValue?: (FieldsSelection<_MovieAggregateFieldResult, R> | undefined)) => Observable<(FieldsSelection<_MovieAggregateFieldResult, R> | undefined)>}),
    histogram: ((args: {interval: Scalars['Int']}) => _MovieAggregateHistogramFieldResultObservableChain & {get: <R extends _MovieAggregateHistogramFieldResultRequest>(request: R, defaultValue?: (FieldsSelection<_MovieAggregateHistogramFieldResult, R> | undefined)) => Observable<(FieldsSelection<_MovieAggregateHistogramFieldResult, R> | undefined)>})
}

export interface MovieConnectionPromiseChain{
    edges: ({get: <R extends _MovieEdgeRequest>(request: R, defaultValue?: (FieldsSelection<_MovieEdge, R> | undefined)[]) => Promise<(FieldsSelection<_MovieEdge, R> | undefined)[]>}),
    items: ({get: <R extends MovieRequest>(request: R, defaultValue?: (FieldsSelection<Movie, R> | undefined)[]) => Promise<(FieldsSelection<Movie, R> | undefined)[]>}),
    pageInfo: (PageInfoPromiseChain & {get: <R extends PageInfoRequest>(request: R, defaultValue?: FieldsSelection<PageInfo, R>) => Promise<FieldsSelection<PageInfo, R>>})
}

export interface MovieConnectionObservableChain{
    edges: ({get: <R extends _MovieEdgeRequest>(request: R, defaultValue?: (FieldsSelection<_MovieEdge, R> | undefined)[]) => Observable<(FieldsSelection<_MovieEdge, R> | undefined)[]>}),
    items: ({get: <R extends MovieRequest>(request: R, defaultValue?: (FieldsSelection<Movie, R> | undefined)[]) => Observable<(FieldsSelection<Movie, R> | undefined)[]>}),
    pageInfo: (PageInfoObservableChain & {get: <R extends PageInfoRequest>(request: R, defaultValue?: FieldsSelection<PageInfo, R>) => Observable<FieldsSelection<PageInfo, R>>})
}

export interface MutationPromiseChain{
    _empty: ({get: (request?: boolean|number, defaultValue?: Scalars['Boolean']) => Promise<Scalars['Boolean']>})
}

export interface MutationObservableChain{
    _empty: ({get: (request?: boolean|number, defaultValue?: Scalars['Boolean']) => Observable<Scalars['Boolean']>})
}

export interface PageInfoPromiseChain{
    hasPreviousPage: ({get: (request?: boolean|number, defaultValue?: Scalars['Boolean']) => Promise<Scalars['Boolean']>}),
    hasNextPage: ({get: (request?: boolean|number, defaultValue?: Scalars['Boolean']) => Promise<Scalars['Boolean']>}),
    startCursor: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Promise<(Scalars['String'] | undefined)>}),
    endCursor: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Promise<(Scalars['String'] | undefined)>})
}

export interface PageInfoObservableChain{
    hasPreviousPage: ({get: (request?: boolean|number, defaultValue?: Scalars['Boolean']) => Observable<Scalars['Boolean']>}),
    hasNextPage: ({get: (request?: boolean|number, defaultValue?: Scalars['Boolean']) => Observable<Scalars['Boolean']>}),
    startCursor: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Observable<(Scalars['String'] | undefined)>}),
    endCursor: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Observable<(Scalars['String'] | undefined)>})
}

export interface QueryPromiseChain{
    listMovie: ((args?: {first?: (Scalars['Int'] | null),after?: (Scalars['String'] | null),filter?: (_ListMovieFilter | null),sort?: (_MovieSort[] | null)}) => MovieConnectionPromiseChain & {get: <R extends MovieConnectionRequest>(request: R, defaultValue?: (FieldsSelection<MovieConnection, R> | undefined)) => Promise<(FieldsSelection<MovieConnection, R> | undefined)>})&(MovieConnectionPromiseChain & {get: <R extends MovieConnectionRequest>(request: R, defaultValue?: (FieldsSelection<MovieConnection, R> | undefined)) => Promise<(FieldsSelection<MovieConnection, R> | undefined)>}),
    searchMovie: ((args: {query: Scalars['String'],fields?: (_SearchMovieFields[] | null),filter?: (_SearchMovieFilter | null),first?: (Scalars['Int'] | null)}) => MovieConnectionPromiseChain & {get: <R extends MovieConnectionRequest>(request: R, defaultValue?: (FieldsSelection<MovieConnection, R> | undefined)) => Promise<(FieldsSelection<MovieConnection, R> | undefined)>}),
    aggregateMovie: ((args?: {query?: (Scalars['String'] | null),fields?: (_SearchMovieFields[] | null),groupBy?: (_SearchMovieFields[] | null),filter?: (_SearchMovieFilter | null),after?: (Scalars['String'] | null)}) => MovieAggregateConnectionPromiseChain & {get: <R extends MovieAggregateConnectionRequest>(request: R, defaultValue?: (FieldsSelection<MovieAggregateConnection, R> | undefined)) => Promise<(FieldsSelection<MovieAggregateConnection, R> | undefined)>})&(MovieAggregateConnectionPromiseChain & {get: <R extends MovieAggregateConnectionRequest>(request: R, defaultValue?: (FieldsSelection<MovieAggregateConnection, R> | undefined)) => Promise<(FieldsSelection<MovieAggregateConnection, R> | undefined)>}),
    listActor: ((args?: {first?: (Scalars['Int'] | null),after?: (Scalars['String'] | null),filter?: (_ListActorFilter | null),sort?: (_ActorSort[] | null)}) => ActorConnectionPromiseChain & {get: <R extends ActorConnectionRequest>(request: R, defaultValue?: (FieldsSelection<ActorConnection, R> | undefined)) => Promise<(FieldsSelection<ActorConnection, R> | undefined)>})&(ActorConnectionPromiseChain & {get: <R extends ActorConnectionRequest>(request: R, defaultValue?: (FieldsSelection<ActorConnection, R> | undefined)) => Promise<(FieldsSelection<ActorConnection, R> | undefined)>}),
    searchActor: ((args: {query: Scalars['String'],fields?: (_SearchActorFields[] | null),filter?: (_SearchActorFilter | null),first?: (Scalars['Int'] | null)}) => ActorConnectionPromiseChain & {get: <R extends ActorConnectionRequest>(request: R, defaultValue?: (FieldsSelection<ActorConnection, R> | undefined)) => Promise<(FieldsSelection<ActorConnection, R> | undefined)>}),
    aggregateActor: ((args?: {query?: (Scalars['String'] | null),fields?: (_SearchActorFields[] | null),groupBy?: (_SearchActorFields[] | null),filter?: (_SearchActorFilter | null),after?: (Scalars['String'] | null)}) => ActorAggregateConnectionPromiseChain & {get: <R extends ActorAggregateConnectionRequest>(request: R, defaultValue?: (FieldsSelection<ActorAggregateConnection, R> | undefined)) => Promise<(FieldsSelection<ActorAggregateConnection, R> | undefined)>})&(ActorAggregateConnectionPromiseChain & {get: <R extends ActorAggregateConnectionRequest>(request: R, defaultValue?: (FieldsSelection<ActorAggregateConnection, R> | undefined)) => Promise<(FieldsSelection<ActorAggregateConnection, R> | undefined)>})
}

export interface QueryObservableChain{
    listMovie: ((args?: {first?: (Scalars['Int'] | null),after?: (Scalars['String'] | null),filter?: (_ListMovieFilter | null),sort?: (_MovieSort[] | null)}) => MovieConnectionObservableChain & {get: <R extends MovieConnectionRequest>(request: R, defaultValue?: (FieldsSelection<MovieConnection, R> | undefined)) => Observable<(FieldsSelection<MovieConnection, R> | undefined)>})&(MovieConnectionObservableChain & {get: <R extends MovieConnectionRequest>(request: R, defaultValue?: (FieldsSelection<MovieConnection, R> | undefined)) => Observable<(FieldsSelection<MovieConnection, R> | undefined)>}),
    searchMovie: ((args: {query: Scalars['String'],fields?: (_SearchMovieFields[] | null),filter?: (_SearchMovieFilter | null),first?: (Scalars['Int'] | null)}) => MovieConnectionObservableChain & {get: <R extends MovieConnectionRequest>(request: R, defaultValue?: (FieldsSelection<MovieConnection, R> | undefined)) => Observable<(FieldsSelection<MovieConnection, R> | undefined)>}),
    aggregateMovie: ((args?: {query?: (Scalars['String'] | null),fields?: (_SearchMovieFields[] | null),groupBy?: (_SearchMovieFields[] | null),filter?: (_SearchMovieFilter | null),after?: (Scalars['String'] | null)}) => MovieAggregateConnectionObservableChain & {get: <R extends MovieAggregateConnectionRequest>(request: R, defaultValue?: (FieldsSelection<MovieAggregateConnection, R> | undefined)) => Observable<(FieldsSelection<MovieAggregateConnection, R> | undefined)>})&(MovieAggregateConnectionObservableChain & {get: <R extends MovieAggregateConnectionRequest>(request: R, defaultValue?: (FieldsSelection<MovieAggregateConnection, R> | undefined)) => Observable<(FieldsSelection<MovieAggregateConnection, R> | undefined)>}),
    listActor: ((args?: {first?: (Scalars['Int'] | null),after?: (Scalars['String'] | null),filter?: (_ListActorFilter | null),sort?: (_ActorSort[] | null)}) => ActorConnectionObservableChain & {get: <R extends ActorConnectionRequest>(request: R, defaultValue?: (FieldsSelection<ActorConnection, R> | undefined)) => Observable<(FieldsSelection<ActorConnection, R> | undefined)>})&(ActorConnectionObservableChain & {get: <R extends ActorConnectionRequest>(request: R, defaultValue?: (FieldsSelection<ActorConnection, R> | undefined)) => Observable<(FieldsSelection<ActorConnection, R> | undefined)>}),
    searchActor: ((args: {query: Scalars['String'],fields?: (_SearchActorFields[] | null),filter?: (_SearchActorFilter | null),first?: (Scalars['Int'] | null)}) => ActorConnectionObservableChain & {get: <R extends ActorConnectionRequest>(request: R, defaultValue?: (FieldsSelection<ActorConnection, R> | undefined)) => Observable<(FieldsSelection<ActorConnection, R> | undefined)>}),
    aggregateActor: ((args?: {query?: (Scalars['String'] | null),fields?: (_SearchActorFields[] | null),groupBy?: (_SearchActorFields[] | null),filter?: (_SearchActorFilter | null),after?: (Scalars['String'] | null)}) => ActorAggregateConnectionObservableChain & {get: <R extends ActorAggregateConnectionRequest>(request: R, defaultValue?: (FieldsSelection<ActorAggregateConnection, R> | undefined)) => Observable<(FieldsSelection<ActorAggregateConnection, R> | undefined)>})&(ActorAggregateConnectionObservableChain & {get: <R extends ActorAggregateConnectionRequest>(request: R, defaultValue?: (FieldsSelection<ActorAggregateConnection, R> | undefined)) => Observable<(FieldsSelection<ActorAggregateConnection, R> | undefined)>})
}

export interface TimeSeriesPromiseChain{
    id: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int64'] | undefined)) => Promise<(Scalars['Int64'] | undefined)>}),
    externalId: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Promise<(Scalars['String'] | undefined)>}),
    name: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Promise<(Scalars['String'] | undefined)>}),
    isString: ({get: (request?: boolean|number, defaultValue?: (Scalars['Boolean'] | undefined)) => Promise<(Scalars['Boolean'] | undefined)>}),
    metadata: ({get: (request?: boolean|number, defaultValue?: (Scalars['JSONObject'] | undefined)) => Promise<(Scalars['JSONObject'] | undefined)>}),
    unit: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Promise<(Scalars['String'] | undefined)>}),
    assetId: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int64'] | undefined)) => Promise<(Scalars['Int64'] | undefined)>}),
    isStep: ({get: (request?: boolean|number, defaultValue?: (Scalars['Boolean'] | undefined)) => Promise<(Scalars['Boolean'] | undefined)>}),
    description: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Promise<(Scalars['String'] | undefined)>}),
    securityCategories: ({get: (request?: boolean|number, defaultValue?: ((Scalars['Int64'] | undefined)[] | undefined)) => Promise<((Scalars['Int64'] | undefined)[] | undefined)>}),
    datasetId: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int64'] | undefined)) => Promise<(Scalars['Int64'] | undefined)>}),
    dataPoints: ((args?: {start?: (Scalars['Int64'] | null),end?: (Scalars['Int64'] | null),limit?: (Scalars['Int'] | null)}) => {get: <R extends DataPointRequest>(request: R, defaultValue?: ((FieldsSelection<DataPoint, R> | undefined)[] | undefined)) => Promise<((FieldsSelection<DataPoint, R> | undefined)[] | undefined)>})&({get: <R extends DataPointRequest>(request: R, defaultValue?: ((FieldsSelection<DataPoint, R> | undefined)[] | undefined)) => Promise<((FieldsSelection<DataPoint, R> | undefined)[] | undefined)>})
}

export interface TimeSeriesObservableChain{
    id: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int64'] | undefined)) => Observable<(Scalars['Int64'] | undefined)>}),
    externalId: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Observable<(Scalars['String'] | undefined)>}),
    name: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Observable<(Scalars['String'] | undefined)>}),
    isString: ({get: (request?: boolean|number, defaultValue?: (Scalars['Boolean'] | undefined)) => Observable<(Scalars['Boolean'] | undefined)>}),
    metadata: ({get: (request?: boolean|number, defaultValue?: (Scalars['JSONObject'] | undefined)) => Observable<(Scalars['JSONObject'] | undefined)>}),
    unit: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Observable<(Scalars['String'] | undefined)>}),
    assetId: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int64'] | undefined)) => Observable<(Scalars['Int64'] | undefined)>}),
    isStep: ({get: (request?: boolean|number, defaultValue?: (Scalars['Boolean'] | undefined)) => Observable<(Scalars['Boolean'] | undefined)>}),
    description: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Observable<(Scalars['String'] | undefined)>}),
    securityCategories: ({get: (request?: boolean|number, defaultValue?: ((Scalars['Int64'] | undefined)[] | undefined)) => Observable<((Scalars['Int64'] | undefined)[] | undefined)>}),
    datasetId: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int64'] | undefined)) => Observable<(Scalars['Int64'] | undefined)>}),
    dataPoints: ((args?: {start?: (Scalars['Int64'] | null),end?: (Scalars['Int64'] | null),limit?: (Scalars['Int'] | null)}) => {get: <R extends DataPointRequest>(request: R, defaultValue?: ((FieldsSelection<DataPoint, R> | undefined)[] | undefined)) => Observable<((FieldsSelection<DataPoint, R> | undefined)[] | undefined)>})&({get: <R extends DataPointRequest>(request: R, defaultValue?: ((FieldsSelection<DataPoint, R> | undefined)[] | undefined)) => Observable<((FieldsSelection<DataPoint, R> | undefined)[] | undefined)>})
}

export interface _ActorAggregateEdgePromiseChain{
    node: (ActorAggregateResultPromiseChain & {get: <R extends ActorAggregateResultRequest>(request: R, defaultValue?: FieldsSelection<ActorAggregateResult, R>) => Promise<FieldsSelection<ActorAggregateResult, R>>}),
    cursor: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Promise<(Scalars['String'] | undefined)>})
}

export interface _ActorAggregateEdgeObservableChain{
    node: (ActorAggregateResultObservableChain & {get: <R extends ActorAggregateResultRequest>(request: R, defaultValue?: FieldsSelection<ActorAggregateResult, R>) => Observable<FieldsSelection<ActorAggregateResult, R>>}),
    cursor: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Observable<(Scalars['String'] | undefined)>})
}

export interface _ActorAggregateFieldCountResultPromiseChain{
    externalId: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int'] | undefined)) => Promise<(Scalars['Int'] | undefined)>}),
    name: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int'] | undefined)) => Promise<(Scalars['Int'] | undefined)>}),
    age: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int'] | undefined)) => Promise<(Scalars['Int'] | undefined)>})
}

export interface _ActorAggregateFieldCountResultObservableChain{
    externalId: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int'] | undefined)) => Observable<(Scalars['Int'] | undefined)>}),
    name: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int'] | undefined)) => Observable<(Scalars['Int'] | undefined)>}),
    age: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int'] | undefined)) => Observable<(Scalars['Int'] | undefined)>})
}

export interface _ActorAggregateFieldResultPromiseChain{
    age: ({get: (request?: boolean|number, defaultValue?: (Scalars['Float'] | undefined)) => Promise<(Scalars['Float'] | undefined)>})
}

export interface _ActorAggregateFieldResultObservableChain{
    age: ({get: (request?: boolean|number, defaultValue?: (Scalars['Float'] | undefined)) => Observable<(Scalars['Float'] | undefined)>})
}

export interface _ActorAggregateHistogramFieldResultPromiseChain{
    age: ({get: <R extends _AggregateHistogramObjectTypeRequest>(request: R, defaultValue?: ((FieldsSelection<_AggregateHistogramObjectType, R> | undefined)[] | undefined)) => Promise<((FieldsSelection<_AggregateHistogramObjectType, R> | undefined)[] | undefined)>})
}

export interface _ActorAggregateHistogramFieldResultObservableChain{
    age: ({get: <R extends _AggregateHistogramObjectTypeRequest>(request: R, defaultValue?: ((FieldsSelection<_AggregateHistogramObjectType, R> | undefined)[] | undefined)) => Observable<((FieldsSelection<_AggregateHistogramObjectType, R> | undefined)[] | undefined)>})
}

export interface _ActorEdgePromiseChain{
    node: (ActorPromiseChain & {get: <R extends ActorRequest>(request: R, defaultValue?: FieldsSelection<Actor, R>) => Promise<FieldsSelection<Actor, R>>}),
    cursor: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Promise<(Scalars['String'] | undefined)>})
}

export interface _ActorEdgeObservableChain{
    node: (ActorObservableChain & {get: <R extends ActorRequest>(request: R, defaultValue?: FieldsSelection<Actor, R>) => Observable<FieldsSelection<Actor, R>>}),
    cursor: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Observable<(Scalars['String'] | undefined)>})
}

export interface _AggregateHistogramObjectTypePromiseChain{
    start: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int'] | undefined)) => Promise<(Scalars['Int'] | undefined)>}),
    count: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int'] | undefined)) => Promise<(Scalars['Int'] | undefined)>})
}

export interface _AggregateHistogramObjectTypeObservableChain{
    start: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int'] | undefined)) => Observable<(Scalars['Int'] | undefined)>}),
    count: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int'] | undefined)) => Observable<(Scalars['Int'] | undefined)>})
}

export interface _MovieAggregateEdgePromiseChain{
    node: (MovieAggregateResultPromiseChain & {get: <R extends MovieAggregateResultRequest>(request: R, defaultValue?: FieldsSelection<MovieAggregateResult, R>) => Promise<FieldsSelection<MovieAggregateResult, R>>}),
    cursor: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Promise<(Scalars['String'] | undefined)>})
}

export interface _MovieAggregateEdgeObservableChain{
    node: (MovieAggregateResultObservableChain & {get: <R extends MovieAggregateResultRequest>(request: R, defaultValue?: FieldsSelection<MovieAggregateResult, R>) => Observable<FieldsSelection<MovieAggregateResult, R>>}),
    cursor: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Observable<(Scalars['String'] | undefined)>})
}

export interface _MovieAggregateFieldCountResultPromiseChain{
    externalId: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int'] | undefined)) => Promise<(Scalars['Int'] | undefined)>}),
    name: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int'] | undefined)) => Promise<(Scalars['Int'] | undefined)>}),
    watchedIt: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int'] | undefined)) => Promise<(Scalars['Int'] | undefined)>})
}

export interface _MovieAggregateFieldCountResultObservableChain{
    externalId: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int'] | undefined)) => Observable<(Scalars['Int'] | undefined)>}),
    name: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int'] | undefined)) => Observable<(Scalars['Int'] | undefined)>}),
    watchedIt: ({get: (request?: boolean|number, defaultValue?: (Scalars['Int'] | undefined)) => Observable<(Scalars['Int'] | undefined)>})
}

export interface _MovieAggregateFieldResultPromiseChain{
    _empty: ({get: (request?: boolean|number, defaultValue?: Scalars['Int']) => Promise<Scalars['Int']>})
}

export interface _MovieAggregateFieldResultObservableChain{
    _empty: ({get: (request?: boolean|number, defaultValue?: Scalars['Int']) => Observable<Scalars['Int']>})
}

export interface _MovieAggregateHistogramFieldResultPromiseChain{
    _empty: ({get: <R extends _AggregateHistogramObjectTypeRequest>(request: R, defaultValue?: ((FieldsSelection<_AggregateHistogramObjectType, R> | undefined)[] | undefined)) => Promise<((FieldsSelection<_AggregateHistogramObjectType, R> | undefined)[] | undefined)>})
}

export interface _MovieAggregateHistogramFieldResultObservableChain{
    _empty: ({get: <R extends _AggregateHistogramObjectTypeRequest>(request: R, defaultValue?: ((FieldsSelection<_AggregateHistogramObjectType, R> | undefined)[] | undefined)) => Observable<((FieldsSelection<_AggregateHistogramObjectType, R> | undefined)[] | undefined)>})
}

export interface _MovieEdgePromiseChain{
    node: (MoviePromiseChain & {get: <R extends MovieRequest>(request: R, defaultValue?: FieldsSelection<Movie, R>) => Promise<FieldsSelection<Movie, R>>}),
    cursor: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Promise<(Scalars['String'] | undefined)>})
}

export interface _MovieEdgeObservableChain{
    node: (MovieObservableChain & {get: <R extends MovieRequest>(request: R, defaultValue?: FieldsSelection<Movie, R>) => Observable<FieldsSelection<Movie, R>>}),
    cursor: ({get: (request?: boolean|number, defaultValue?: (Scalars['String'] | undefined)) => Observable<(Scalars['String'] | undefined)>})
}export type ModelNodeMap = {
 Movie: Omit<Movie, "__typename"|"actors">
Actor: Omit<Actor, "__typename">
};export const RelationshipMap = {
 Movie: {
actors: "Actor"
}
};