import { BaseResourceAPI, CursorAndAsyncIterator, ExternalId } from '@cognite/sdk-core'; import { ExternalRelationship, IgnoreUnknownIds, Relationship, RelationshipsFilterRequest, RelationshipsRetrieveParams } from '../../types'; export declare class RelationshipsApi extends BaseResourceAPI { /** * @hidden */ protected getDateProps(): [string[], string[]]; /** * [Create relationship](https://docs.cognite.com/api/v1/#operation/createRelationships) * * ```js * const relationships = [ * { * externalId: 'some_relationship', * sourceExternalId: 'some_source_external_id', * sourceType: 'asset' as const, * targetExternalId: 'some_target_external_id', * targetType: 'event' as const * } * ]; * const createdRelationships = await client.relationships.create(relationships); * ``` */ create: (items: ExternalRelationship[]) => Promise; /** * [List relationships](https://docs.cognite.com/api/v1/#operation/listRelationships) * * ```js * const relationships = await client.relationships.list({ filter: { createdTime: { min: new Date('1 jan 2018'), max: new Date('1 jan 2019') }}}); * ``` */ list: (query?: RelationshipsFilterRequest) => CursorAndAsyncIterator; /** * [Retrieve relationships](https://docs.cognite.com/api/v1/#operation/byidsRelationships) * * ```js * const relationships = await client.relationships.retrieve([{externalId: 'abc'}, {externalId: 'def'}]); * ``` */ retrieve: (ids: ExternalId[], params?: RelationshipsRetrieveParams) => Promise; /** * [Delete relationships](https://doc.cognitedata.com/api/v1/#operation/deleteRelationships) * * ```js * await client.relationships.delete([{externalId: 'abc'}, {externalId: 'def'}]); * ``` */ delete: (ids: ExternalId[], params?: RelationshipsDeleteParams) => Promise<{}>; } export type RelationshipsDeleteParams = IgnoreUnknownIds;