1package faceapi
2
3// Copyright (c) Microsoft Corporation. All rights reserved.
4// Licensed under the MIT License. See License.txt in the project root for license information.
5//
6// Code generated by Microsoft (R) AutoRest Code Generator.
7// Changes may cause incorrect behavior and will be lost if the code is regenerated.
8
9import (
10	"context"
11	"github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v1.0/face"
12	"github.com/Azure/go-autorest/autorest"
13	"github.com/gofrs/uuid"
14	"io"
15)
16
17// ClientAPI contains the set of methods on the Client type.
18type ClientAPI interface {
19	DetectWithStream(ctx context.Context, imageParameter io.ReadCloser, returnFaceID *bool, returnFaceLandmarks *bool, returnFaceAttributes []face.AttributeType, recognitionModel face.RecognitionModel, returnRecognitionModel *bool, detectionModel face.DetectionModel) (result face.ListDetectedFace, err error)
20	DetectWithURL(ctx context.Context, imageURL face.ImageURL, returnFaceID *bool, returnFaceLandmarks *bool, returnFaceAttributes []face.AttributeType, recognitionModel face.RecognitionModel, returnRecognitionModel *bool, detectionModel face.DetectionModel) (result face.ListDetectedFace, err error)
21	FindSimilar(ctx context.Context, body face.FindSimilarRequest) (result face.ListSimilarFace, err error)
22	Group(ctx context.Context, body face.GroupRequest) (result face.GroupResult, err error)
23	Identify(ctx context.Context, body face.IdentifyRequest) (result face.ListIdentifyResult, err error)
24	VerifyFaceToFace(ctx context.Context, body face.VerifyFaceToFaceRequest) (result face.VerifyResult, err error)
25	VerifyFaceToPerson(ctx context.Context, body face.VerifyFaceToPersonRequest) (result face.VerifyResult, err error)
26}
27
28var _ ClientAPI = (*face.Client)(nil)
29
30// PersonGroupPersonClientAPI contains the set of methods on the PersonGroupPersonClient type.
31type PersonGroupPersonClientAPI interface {
32	AddFaceFromStream(ctx context.Context, personGroupID string, personID uuid.UUID, imageParameter io.ReadCloser, userData string, targetFace []int32, detectionModel face.DetectionModel) (result face.PersistedFace, err error)
33	AddFaceFromURL(ctx context.Context, personGroupID string, personID uuid.UUID, imageURL face.ImageURL, userData string, targetFace []int32, detectionModel face.DetectionModel) (result face.PersistedFace, err error)
34	Create(ctx context.Context, personGroupID string, body face.NameAndUserDataContract) (result face.Person, err error)
35	Delete(ctx context.Context, personGroupID string, personID uuid.UUID) (result autorest.Response, err error)
36	DeleteFace(ctx context.Context, personGroupID string, personID uuid.UUID, persistedFaceID uuid.UUID) (result autorest.Response, err error)
37	Get(ctx context.Context, personGroupID string, personID uuid.UUID) (result face.Person, err error)
38	GetFace(ctx context.Context, personGroupID string, personID uuid.UUID, persistedFaceID uuid.UUID) (result face.PersistedFace, err error)
39	List(ctx context.Context, personGroupID string, start string, top *int32) (result face.ListPerson, err error)
40	Update(ctx context.Context, personGroupID string, personID uuid.UUID, body face.NameAndUserDataContract) (result autorest.Response, err error)
41	UpdateFace(ctx context.Context, personGroupID string, personID uuid.UUID, persistedFaceID uuid.UUID, body face.UpdateFaceRequest) (result autorest.Response, err error)
42}
43
44var _ PersonGroupPersonClientAPI = (*face.PersonGroupPersonClient)(nil)
45
46// PersonGroupClientAPI contains the set of methods on the PersonGroupClient type.
47type PersonGroupClientAPI interface {
48	Create(ctx context.Context, personGroupID string, body face.MetaDataContract) (result autorest.Response, err error)
49	Delete(ctx context.Context, personGroupID string) (result autorest.Response, err error)
50	Get(ctx context.Context, personGroupID string, returnRecognitionModel *bool) (result face.PersonGroup, err error)
51	GetTrainingStatus(ctx context.Context, personGroupID string) (result face.TrainingStatus, err error)
52	List(ctx context.Context, start string, top *int32, returnRecognitionModel *bool) (result face.ListPersonGroup, err error)
53	Train(ctx context.Context, personGroupID string) (result autorest.Response, err error)
54	Update(ctx context.Context, personGroupID string, body face.NameAndUserDataContract) (result autorest.Response, err error)
55}
56
57var _ PersonGroupClientAPI = (*face.PersonGroupClient)(nil)
58
59// ListClientAPI contains the set of methods on the ListClient type.
60type ListClientAPI interface {
61	AddFaceFromStream(ctx context.Context, faceListID string, imageParameter io.ReadCloser, userData string, targetFace []int32, detectionModel face.DetectionModel) (result face.PersistedFace, err error)
62	AddFaceFromURL(ctx context.Context, faceListID string, imageURL face.ImageURL, userData string, targetFace []int32, detectionModel face.DetectionModel) (result face.PersistedFace, err error)
63	Create(ctx context.Context, faceListID string, body face.MetaDataContract) (result autorest.Response, err error)
64	Delete(ctx context.Context, faceListID string) (result autorest.Response, err error)
65	DeleteFace(ctx context.Context, faceListID string, persistedFaceID uuid.UUID) (result autorest.Response, err error)
66	Get(ctx context.Context, faceListID string, returnRecognitionModel *bool) (result face.List, err error)
67	List(ctx context.Context, returnRecognitionModel *bool) (result face.ListList, err error)
68	Update(ctx context.Context, faceListID string, body face.NameAndUserDataContract) (result autorest.Response, err error)
69}
70
71var _ ListClientAPI = (*face.ListClient)(nil)
72
73// LargePersonGroupPersonClientAPI contains the set of methods on the LargePersonGroupPersonClient type.
74type LargePersonGroupPersonClientAPI interface {
75	AddFaceFromStream(ctx context.Context, largePersonGroupID string, personID uuid.UUID, imageParameter io.ReadCloser, userData string, targetFace []int32, detectionModel face.DetectionModel) (result face.PersistedFace, err error)
76	AddFaceFromURL(ctx context.Context, largePersonGroupID string, personID uuid.UUID, imageURL face.ImageURL, userData string, targetFace []int32, detectionModel face.DetectionModel) (result face.PersistedFace, err error)
77	Create(ctx context.Context, largePersonGroupID string, body face.NameAndUserDataContract) (result face.Person, err error)
78	Delete(ctx context.Context, largePersonGroupID string, personID uuid.UUID) (result autorest.Response, err error)
79	DeleteFace(ctx context.Context, largePersonGroupID string, personID uuid.UUID, persistedFaceID uuid.UUID) (result autorest.Response, err error)
80	Get(ctx context.Context, largePersonGroupID string, personID uuid.UUID) (result face.Person, err error)
81	GetFace(ctx context.Context, largePersonGroupID string, personID uuid.UUID, persistedFaceID uuid.UUID) (result face.PersistedFace, err error)
82	List(ctx context.Context, largePersonGroupID string, start string, top *int32) (result face.ListPerson, err error)
83	Update(ctx context.Context, largePersonGroupID string, personID uuid.UUID, body face.NameAndUserDataContract) (result autorest.Response, err error)
84	UpdateFace(ctx context.Context, largePersonGroupID string, personID uuid.UUID, persistedFaceID uuid.UUID, body face.UpdateFaceRequest) (result autorest.Response, err error)
85}
86
87var _ LargePersonGroupPersonClientAPI = (*face.LargePersonGroupPersonClient)(nil)
88
89// LargePersonGroupClientAPI contains the set of methods on the LargePersonGroupClient type.
90type LargePersonGroupClientAPI interface {
91	Create(ctx context.Context, largePersonGroupID string, body face.MetaDataContract) (result autorest.Response, err error)
92	Delete(ctx context.Context, largePersonGroupID string) (result autorest.Response, err error)
93	Get(ctx context.Context, largePersonGroupID string, returnRecognitionModel *bool) (result face.LargePersonGroup, err error)
94	GetTrainingStatus(ctx context.Context, largePersonGroupID string) (result face.TrainingStatus, err error)
95	List(ctx context.Context, start string, top *int32, returnRecognitionModel *bool) (result face.ListLargePersonGroup, err error)
96	Train(ctx context.Context, largePersonGroupID string) (result autorest.Response, err error)
97	Update(ctx context.Context, largePersonGroupID string, body face.NameAndUserDataContract) (result autorest.Response, err error)
98}
99
100var _ LargePersonGroupClientAPI = (*face.LargePersonGroupClient)(nil)
101
102// LargeFaceListClientAPI contains the set of methods on the LargeFaceListClient type.
103type LargeFaceListClientAPI interface {
104	AddFaceFromStream(ctx context.Context, largeFaceListID string, imageParameter io.ReadCloser, userData string, targetFace []int32, detectionModel face.DetectionModel) (result face.PersistedFace, err error)
105	AddFaceFromURL(ctx context.Context, largeFaceListID string, imageURL face.ImageURL, userData string, targetFace []int32, detectionModel face.DetectionModel) (result face.PersistedFace, err error)
106	Create(ctx context.Context, largeFaceListID string, body face.MetaDataContract) (result autorest.Response, err error)
107	Delete(ctx context.Context, largeFaceListID string) (result autorest.Response, err error)
108	DeleteFace(ctx context.Context, largeFaceListID string, persistedFaceID uuid.UUID) (result autorest.Response, err error)
109	Get(ctx context.Context, largeFaceListID string, returnRecognitionModel *bool) (result face.LargeFaceList, err error)
110	GetFace(ctx context.Context, largeFaceListID string, persistedFaceID uuid.UUID) (result face.PersistedFace, err error)
111	GetTrainingStatus(ctx context.Context, largeFaceListID string) (result face.TrainingStatus, err error)
112	List(ctx context.Context, returnRecognitionModel *bool) (result face.ListLargeFaceList, err error)
113	ListFaces(ctx context.Context, largeFaceListID string, start string, top *int32) (result face.ListPersistedFace, err error)
114	Train(ctx context.Context, largeFaceListID string) (result autorest.Response, err error)
115	Update(ctx context.Context, largeFaceListID string, body face.NameAndUserDataContract) (result autorest.Response, err error)
116	UpdateFace(ctx context.Context, largeFaceListID string, persistedFaceID uuid.UUID, body face.UpdateFaceRequest) (result autorest.Response, err error)
117}
118
119var _ LargeFaceListClientAPI = (*face.LargeFaceListClient)(nil)
120
121// SnapshotClientAPI contains the set of methods on the SnapshotClient type.
122type SnapshotClientAPI interface {
123	Apply(ctx context.Context, snapshotID uuid.UUID, body face.ApplySnapshotRequest) (result autorest.Response, err error)
124	Delete(ctx context.Context, snapshotID uuid.UUID) (result autorest.Response, err error)
125	Get(ctx context.Context, snapshotID uuid.UUID) (result face.Snapshot, err error)
126	GetOperationStatus(ctx context.Context, operationID uuid.UUID) (result face.OperationStatus, err error)
127	List(ctx context.Context, typeParameter face.SnapshotObjectType, applyScope []uuid.UUID) (result face.ListSnapshot, err error)
128	Take(ctx context.Context, body face.TakeSnapshotRequest) (result autorest.Response, err error)
129	Update(ctx context.Context, snapshotID uuid.UUID, body face.UpdateSnapshotRequest) (result autorest.Response, err error)
130}
131
132var _ SnapshotClientAPI = (*face.SnapshotClient)(nil)
133