/** HistoryKeystoreEntry */
export type ComSapHciApiHistoryKeystoreEntry = ComSapHciApiKeystoreEntry & {
    /**
     * @maxLength 150
     * @example "string"
     */
    ActivatedBy?: string;
    /** @example "/Date(1492098664000)/" */
    ActiveFrom?: string;
    /**
     * @maxLength 150
     * @example "string"
     */
    DeactivatedBy?: string;
    /** @example "/Date(1492098664000)/" */
    ActiveUntil?: string;
    /** @format int32 */
    ActivationSequenceNumber?: number;
    /**
     * @maxLength 250
     * @example "string"
     */
    OriginalAlias?: string;
};
/** HistoryKeystoreEntry (for create) */
export type ComSapHciApiHistoryKeystoreEntryCreate = ComSapHciApiKeystoreEntryCreate & {
    /**
     * @maxLength 150
     * @example "string"
     */
    ActivatedBy?: string;
    /** @example "/Date(1492098664000)/" */
    ActiveFrom?: string;
    /**
     * @maxLength 150
     * @example "string"
     */
    DeactivatedBy?: string;
    /** @example "/Date(1492098664000)/" */
    ActiveUntil?: string;
    /** @format int32 */
    ActivationSequenceNumber?: number;
    /**
     * @maxLength 250
     * @example "string"
     */
    OriginalAlias?: string;
};
/** HistoryKeystoreEntry (for update) */
export type ComSapHciApiHistoryKeystoreEntryUpdate = ComSapHciApiKeystoreEntryUpdate & {
    /**
     * @maxLength 150
     * @example "string"
     */
    ActivatedBy?: string;
    /** @example "/Date(1492098664000)/" */
    ActiveFrom?: string;
    /**
     * @maxLength 150
     * @example "string"
     */
    DeactivatedBy?: string;
    /** @example "/Date(1492098664000)/" */
    ActiveUntil?: string;
    /** @format int32 */
    ActivationSequenceNumber?: number;
    /**
     * @maxLength 250
     * @example "string"
     */
    OriginalAlias?: string;
};
/** KeystoreResource */
export interface ComSapHciApiKeystoreResource {
    /** @maxLength 100 */
    Name?: string;
    /**
     * @format binary
     * @maxLength 1048576
     */
    Resource?: File;
    /**
     * @maxLength 300
     * @example "string"
     */
    Password?: string;
    /**
     * @maxLength 1048576
     * @example "string"
     */
    Aliases?: string;
}
/** KeystoreResource (for create) */
export interface ComSapHciApiKeystoreResourceCreate {
    /**
     * @maxLength 100
     * @example "system"
     */
    Name: string;
    /**
     * @format binary
     * @maxLength 1048576
     * @example "base64 encoded JKS or JCEKS keystore"
     */
    Resource?: File;
    /**
     * @maxLength 300
     * @example "string"
     */
    Password?: string;
}
/** KeystoreResource (for update) */
export interface ComSapHciApiKeystoreResourceUpdate {
    /**
     * @format binary
     * @maxLength 1048576
     */
    Resource?: File;
    /**
     * @maxLength 300
     * @example "string"
     */
    Password?: string;
    /**
     * @maxLength 1048576
     * @example "string"
     */
    Aliases?: string;
}
/** KeystoreResource (for export) */
export interface ComSapHciApiKeystoreResourceExport {
    /**
     * @maxLength 100
     * @example "system"
     */
    Name?: string;
    /**
     * @format binary
     * @maxLength 1048576
     */
    Resource?: File;
}
/** Keystore (for restore) */
export interface ComSapHciApiKeystoreResourceRestore {
    /**
     * @format binary
     * @maxLength 1048576
     */
    Resource: File;
}
/** CertificateChainResource */
export type ComSapHciApiCertificateChainResource = ComSapHciApiKeystoreEntryAlias & {
    KeystoreEntry?: ComSapHciApiKeystoreEntry;
};
/** CertificateChainResource (for create) */
export type ComSapHciApiCertificateChainResourceCreate = ComSapHciApiKeystoreEntryAliasCreate & {
    KeystoreEntry?: ComSapHciApiKeystoreEntryCreate;
};
/** CertificateChainResource (for update) */
export type ComSapHciApiCertificateChainResourceUpdate = ComSapHciApiKeystoreEntryAliasUpdate & object;
/** KeystoreEntryCertificatePartBase */
export type ComSapHciApiKeystoreEntryCertificatePartBase = ComSapHciApiKeystoreEntryAlias & {
    /**
     * @maxLength 30
     * @example "string"
     */
    KeyType?: string;
    /** @format int32 */
    KeySize?: number;
    /** @example "/Date(1492098664000)/" */
    ValidNotBefore?: string;
    /** @example "/Date(1492098664000)/" */
    ValidNotAfter?: string;
    /**
     * @maxLength 256
     * @example "string"
     */
    SerialNumber?: string;
    /**
     * @maxLength 60
     * @example "string"
     */
    SignatureAlgorithm?: string;
    /**
     * @maxLength 80
     * @example "string"
     */
    EllipticCurve?: string;
};
/** KeystoreEntryCertificatePartBase (for create) */
export type ComSapHciApiKeystoreEntryCertificatePartBaseCreate = ComSapHciApiKeystoreEntryAliasCreate & {
    /**
     * @maxLength 30
     * @example "string"
     */
    KeyType?: string;
    /**
     * @maxLength 60
     * @example "string"
     */
    SignatureAlgorithm?: string;
    /** @format int32 */
    KeySize?: number;
    /** @example "/Date(1492098664000)/" */
    ValidNotBefore?: string;
    /** @example "/Date(1492098664000)/" */
    ValidNotAfter?: string;
    /**
     * @maxLength 256
     * @example "string"
     */
    SerialNumber?: string;
};
/** KeystoreEntryCertificatePartBase (for update) */
export type ComSapHciApiKeystoreEntryCertificatePartBaseUpdate = ComSapHciApiKeystoreEntryAliasUpdate & {
    /**
     * @maxLength 30
     * @example "string"
     */
    KeyType?: string;
    /** @format int32 */
    KeySize?: number;
    /** @example "/Date(1492098664000)/" */
    ValidNotBefore?: string;
    /** @example "/Date(1492098664000)/" */
    ValidNotAfter?: string;
    /**
     * @maxLength 256
     * @example "string"
     */
    SerialNumber?: string;
    /**
     * @maxLength 60
     * @example "string"
     */
    SignatureAlgorithm?: string;
};
/** KeystoreEntryAlias */
export interface ComSapHciApiKeystoreEntryAlias {
    /** @maxLength 2000 */
    Hexalias?: string;
    /** @maxLength 250 */
    Alias?: string;
}
/** KeystoreEntryAlias (for create) */
export interface ComSapHciApiKeystoreEntryAliasCreate {
    /** @maxLength 2000 */
    Hexalias: string;
    /** @maxLength 250 */
    Alias?: string;
}
/** KeystoreEntryAlias (for update) */
export interface ComSapHciApiKeystoreEntryAliasUpdate {
    /** @maxLength 250 */
    Alias?: string;
}
/** KeystoreEntryAliases (for mass delete) */
export interface ComSapHciApiKeystoreEntryAliasMassdelete {
    /** @example "alias1;alias2" */
    Aliases?: string;
}
/** SSHKeyResource */
export type ComSapHciApiSSHKeyResource = ComSapHciApiKeystoreEntryAlias & {
    KeystoreEntry?: ComSapHciApiKeystoreEntry;
};
/** SSHKeyResource (for create) */
export type ComSapHciApiSSHKeyResourceCreate = ComSapHciApiKeystoreEntryAliasCreate & {
    KeystoreEntry?: ComSapHciApiKeystoreEntryCreate;
};
/** SSHKeyResource (for update) */
export type ComSapHciApiSSHKeyResourceUpdate = ComSapHciApiKeystoreEntryAliasUpdate & object;
/** KeystoreEntry */
export type ComSapHciApiKeystoreEntry = ComSapHciApiKeystoreEntryCertificatePart & {
    /**
     * @maxLength 30
     * @example "string"
     */
    Type?: string;
    /**
     * @maxLength 30
     * @example "string"
     */
    Owner?: string;
    /**
     * @maxLength 150
     * @example "string"
     */
    LastModifiedBy?: string;
    /** @example "/Date(1492098664000)/" */
    LastModifiedTime?: string;
    /**
     * @maxLength 150
     * @example "string"
     */
    CreatedBy?: string;
    /** @example "/Date(1492098664000)/" */
    CreatedTime?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    Status?: string;
    /** Collection of ChainCertificate */
    ChainCertificates?: {
        results?: ComSapHciApiChainCertificate[];
    };
    Certificate?: ComSapHciApiCertificateResource;
    Sshkey?: ComSapHciApiSSHKeyResource;
    Keystore?: ComSapHciApiKeystore;
    ChainResource?: ComSapHciApiCertificateChainResource;
    SigningRequest?: ComSapHciApiCertificateSigningRequest;
};
/** KeystoreEntry (for create) */
export type ComSapHciApiKeystoreEntryCreate = ComSapHciApiKeystoreEntryCertificatePartCreate & {
    /**
     * @maxLength 30
     * @example "string"
     */
    Type?: string;
    /**
     * @maxLength 30
     * @example "string"
     */
    Owner?: string;
    /**
     * @maxLength 150
     * @example "string"
     */
    LastModifiedBy?: string;
    /** @example "/Date(1492098664000)/" */
    LastModifiedTime?: string;
    /**
     * @maxLength 150
     * @example "string"
     */
    CreatedBy?: string;
    /** @example "/Date(1492098664000)/" */
    CreatedTime?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    Status?: string;
    /** Collection of ChainCertificate */
    ChainCertificates?: {
        results?: ComSapHciApiChainCertificateCreate[];
    };
    Certificate?: ComSapHciApiCertificateResourceCreate;
    Sshkey?: ComSapHciApiSSHKeyResourceCreate;
    Keystore?: ComSapHciApiKeystoreCreate;
    ChainResource?: ComSapHciApiCertificateChainResourceCreate;
    SigningRequest?: ComSapHciApiCertificateSigningRequestCreate;
};
/** KeystoreEntry (for update) */
export type ComSapHciApiKeystoreEntryUpdate = ComSapHciApiKeystoreEntryCertificatePartUpdate & {
    /**
     * @maxLength 30
     * @example "string"
     */
    Type?: string;
    /**
     * @maxLength 30
     * @example "string"
     */
    Owner?: string;
    /**
     * @maxLength 150
     * @example "string"
     */
    LastModifiedBy?: string;
    /** @example "/Date(1492098664000)/" */
    LastModifiedTime?: string;
    /**
     * @maxLength 150
     * @example "string"
     */
    CreatedBy?: string;
    /** @example "/Date(1492098664000)/" */
    CreatedTime?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    Status?: string;
};
/** KeystoreEntry (for rename) */
export interface ComSapHciApiKeystoreEntryRename {
    /** @maxLength 500 */
    Status: string;
}
/** KeystoreEntry (imported) */
export interface ComSapHciApiKeystoreEntryImported {
    /** @maxLength 2000 */
    Hexalias?: string;
    /** @maxLength 250 */
    Alias?: string;
    /**
     * @maxLength 30
     * @example "string"
     */
    KeyType?: string;
    /** @format int32 */
    KeySize?: number;
    /** @example "/Date(1492098664000)/" */
    ValidNotBefore?: string;
    /** @example "/Date(1492098664000)/" */
    ValidNotAfter?: string;
    /**
     * @maxLength 256
     * @example "string"
     */
    SerialNumber?: string;
    /**
     * @maxLength 60
     * @example "string"
     */
    SignatureAlgorithm?: string;
    /**
     * @maxLength 1000
     * @example "string"
     */
    Validity?: string;
    /**
     * @maxLength 5000
     * @example "string"
     */
    SubjectDN?: string;
    /**
     * @maxLength 5000
     * @example "string"
     */
    IssuerDN?: string;
    /** @format int32 */
    Version?: number;
    /**
     * @maxLength 200
     * @example "string"
     */
    FingerprintSha1?: string;
    /**
     * @maxLength 200
     * @example "string"
     */
    FingerprintSha256?: string;
    /**
     * @maxLength 200
     * @example "string"
     */
    FingerprintSha512?: string;
    /**
     * @maxLength 30
     * @example "string"
     */
    Type?: string;
    /**
     * @maxLength 30
     * @example "string"
     */
    Owner?: string;
    /**
     * @maxLength 150
     * @example "string"
     */
    LastModifiedBy?: string;
    /** @example "/Date(1492098664000)/" */
    LastModifiedTime?: string;
    /**
     * @maxLength 150
     * @example "string"
     */
    CreatedBy?: string;
    /** @example "/Date(1492098664000)/" */
    CreatedTime?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    Status?: string;
    /** Collection of ChainCertificate */
    ChainCertificates?: {
        results?: ComSapHciApiChainCertificate[];
    };
    Certificate?: ComSapHciApiCertificateResource;
    Sshkey?: ComSapHciApiSSHKeyResource;
    Keystore?: ComSapHciApiKeystore;
    ChainResource?: ComSapHciApiCertificateChainResource;
    SigningRequest?: ComSapHciApiCertificateSigningRequest;
}
/** Keystore */
export interface ComSapHciApiKeystore {
    /** @maxLength 100 */
    Name?: string;
    /**
     * @maxLength 150
     * @example "string"
     */
    LastModifiedBy?: string;
    /** @example "/Date(1492098664000)/" */
    LastModifiedTime?: string;
    /** @format int32 */
    Size?: number;
    /** Collection of KeystoreEntry */
    Entries?: {
        results?: ComSapHciApiKeystoreEntry[];
    };
}
/** Keystore (for create) */
export interface ComSapHciApiKeystoreCreate {
    /** @maxLength 100 */
    Name: string;
    /**
     * @maxLength 150
     * @example "string"
     */
    LastModifiedBy?: string;
    /** @example "/Date(1492098664000)/" */
    LastModifiedTime?: string;
    /** @format int32 */
    Size?: number;
    /** Collection of KeystoreEntry */
    Entries?: {
        results?: ComSapHciApiKeystoreEntryCreate[];
    };
}
/** Keystore (for update) */
export interface ComSapHciApiKeystoreUpdate {
    /**
     * @maxLength 150
     * @example "string"
     */
    LastModifiedBy?: string;
    /** @example "/Date(1492098664000)/" */
    LastModifiedTime?: string;
    /** @format int32 */
    Size?: number;
}
/** CertificateResource */
export type ComSapHciApiCertificateResource = ComSapHciApiKeystoreEntryAlias & {
    KeystoreEntry?: ComSapHciApiKeystoreEntry;
};
/** CertificateResource (for create) */
export type ComSapHciApiCertificateResourceCreate = ComSapHciApiKeystoreEntryAliasCreate & {
    KeystoreEntry?: ComSapHciApiKeystoreEntryCreate;
};
/** CertificateResource (for update) */
export type ComSapHciApiCertificateResourceUpdate = ComSapHciApiKeystoreEntryAliasUpdate & object;
/** CertificateSigningRequest */
export interface ComSapHciApiCertificateSigningRequest {
    /** @maxLength 2000 */
    Hexalias?: string;
    KeystoreEntry?: ComSapHciApiKeystoreEntry;
}
/** CertificateSigningRequest (for create) */
export interface ComSapHciApiCertificateSigningRequestCreate {
    /** @maxLength 2000 */
    Hexalias: string;
    KeystoreEntry?: ComSapHciApiKeystoreEntryCreate;
}
/** CertificateSigningRequest (for update) */
export type ComSapHciApiCertificateSigningRequestUpdate = object;
/** KeystoreEntryCertificatePart */
export type ComSapHciApiKeystoreEntryCertificatePart = ComSapHciApiKeystoreEntryCertificatePartBase & {
    /**
     * @maxLength 1000
     * @example "string"
     */
    Validity?: string;
    /**
     * @maxLength 5000
     * @example "string"
     */
    SubjectDN?: string;
    /**
     * @maxLength 5000
     * @example "string"
     */
    IssuerDN?: string;
    /** @format int32 */
    Version?: number;
    /**
     * @maxLength 200
     * @example "string"
     */
    FingerprintSha1?: string;
    /**
     * @maxLength 200
     * @example "string"
     */
    FingerprintSha256?: string;
    /**
     * @maxLength 200
     * @example "string"
     */
    FingerprintSha512?: string;
};
/** KeystoreEntryCertificatePart (for update) */
export type ComSapHciApiKeystoreEntryCertificatePartUpdate = ComSapHciApiKeystoreEntryCertificatePartBaseUpdate & {
    /**
     * @maxLength 1000
     * @example "string"
     */
    Validity?: string;
    /**
     * @maxLength 5000
     * @example "string"
     */
    SubjectDN?: string;
    /**
     * @maxLength 5000
     * @example "string"
     */
    IssuerDN?: string;
    /** @format int32 */
    Version?: number;
    /**
     * @maxLength 200
     * @example "string"
     */
    FingerprintSha1?: string;
    /**
     * @maxLength 200
     * @example "string"
     */
    FingerprintSha256?: string;
    /**
     * @maxLength 200
     * @example "string"
     */
    FingerprintSha512?: string;
};
/** KeystoreEntryCertificatePart (for create) */
export type ComSapHciApiKeystoreEntryCertificatePartCreate = ComSapHciApiKeystoreEntryCertificatePartBaseCreate & {
    /**
     * @maxLength 1000
     * @example "string"
     */
    Validity?: string;
    /**
     * @maxLength 5000
     * @example "string"
     */
    SubjectDN?: string;
    /**
     * @maxLength 5000
     * @example "string"
     */
    IssuerDN?: string;
    /** @format int32 */
    Version?: number;
    /**
     * @maxLength 200
     * @example "string"
     */
    FingerprintSha1?: string;
    /**
     * @maxLength 200
     * @example "string"
     */
    FingerprintSha256?: string;
    /**
     * @maxLength 200
     * @example "string"
     */
    FingerprintSha512?: string;
};
/** KeyPairGenerationRequest */
export type ComSapHciApiKeyPairGenerationRequest = ComSapHciApiKeystoreEntryCertificatePartBase & {
    /**
     * @maxLength 500
     * @example "string"
     */
    KeyAlgorithmParameter?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    CommonName?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    OrganizationUnit?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    Organization?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    Locality?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    State?: string;
    /**
     * @maxLength 2
     * @example "string"
     */
    Country?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    Email?: string;
};
/** KeyPairGenerationRequest (for create) */
export interface ComSapHciApiKeyPairGenerationRequestCreate {
    /** @maxLength 2000 */
    Hexalias?: string;
    /** @maxLength 250 */
    Alias?: string;
    /**
     * @maxLength 30
     * @example "RSA"
     */
    KeyType?: string;
    /**
     * @maxLength 60
     * @example "SHA256/RSA"
     */
    SignatureAlgorithm?: string;
    /**
     * @format int32
     * @example 2048
     */
    KeySize?: number;
    /**
     * @maxLength 500
     * @example "string"
     */
    CommonName?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    OrganizationUnit?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    Organization?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    Locality?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    State?: string;
    /**
     * @maxLength 2
     * @example "string"
     */
    Country?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    Email?: string;
    /** @example "/Date(1562673915367)/" */
    ValidNotBefore?: string;
    /** @example "/Date(1662673915367)/" */
    ValidNotAfter?: string;
}
/** KeyPairGenerationRequest (for update) */
export type ComSapHciApiKeyPairGenerationRequestUpdate = ComSapHciApiKeystoreEntryCertificatePartBaseUpdate & {
    /**
     * @maxLength 500
     * @example "string"
     */
    KeyAlgorithmParameter?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    CommonName?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    OrganizationUnit?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    Organization?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    Locality?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    State?: string;
    /**
     * @maxLength 2
     * @example "string"
     */
    Country?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    Email?: string;
};
/** KeyPairResource (for create) */
export type ComSapHciApiKeyPairResourceCreate = ComSapHciApiKeystoreEntryAliasCreate & {
    /**
     * @format binary
     * @maxLength 24576
     */
    Resource?: File;
    /**
     * @maxLength 500
     * @example "string"
     */
    Password?: string;
};
/** KeyPairResource (for update) */
export interface ComSapHciApiKeyPairResourceUpdate {
    /**
     * @maxLength 2000
     * @example "any dummy hex encoded value"
     */
    Hexalias?: string;
    /** @maxLength 250 */
    Alias?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    Password?: string;
    /**
     * @format binary
     * @maxLength 24576
     * @example "base64 encoded PKCS#12 binary"
     */
    Resource?: File;
}
/** ChainCertificate */
export interface ComSapHciApiChainCertificate {
    /** @maxLength 2000 */
    Hexalias?: string;
    /** @maxLength 250 */
    Alias?: string;
    /** @format int32 */
    Index?: number;
    /**
     * @maxLength 1000
     * @example "string"
     */
    Validity?: string;
    /**
     * @maxLength 30
     * @example "string"
     */
    KeyType?: string;
    /** @format int32 */
    KeySize?: number;
    /** @example "/Date(1492098664000)/" */
    ValidNotBefore?: string;
    /** @example "/Date(1492098664000)/" */
    ValidNotAfter?: string;
    /**
     * @maxLength 5000
     * @example "string"
     */
    SubjectDN?: string;
    /**
     * @maxLength 5000
     * @example "string"
     */
    IssuerDN?: string;
    /**
     * @maxLength 66
     * @example "string"
     */
    SerialNumber?: string;
    /**
     * @maxLength 60
     * @example "string"
     */
    SignatureAlgorithm?: string;
    /** @format int32 */
    Version?: number;
    /**
     * @maxLength 200
     * @example "string"
     */
    FingerprintSha1?: string;
    /**
     * @maxLength 200
     * @example "string"
     */
    FingerprintSha256?: string;
    /**
     * @maxLength 200
     * @example "string"
     */
    FingerprintSha512?: string;
    KeystoreEntry?: ComSapHciApiKeystoreEntry;
}
/** ChainCertificate */
export interface ComSapHciApiChainCertificateCreate {
    /** @maxLength 2000 */
    Hexalias: string;
    /** @maxLength 250 */
    Alias?: string;
    /** @format int32 */
    Index: number;
    /**
     * @maxLength 1000
     * @example "string"
     */
    Validity?: string;
    /**
     * @maxLength 30
     * @example "string"
     */
    KeyType?: string;
    /** @format int32 */
    KeySize?: number;
    /** @example "/Date(1492098664000)/" */
    ValidNotBefore?: string;
    /** @example "/Date(1492098664000)/" */
    ValidNotAfter?: string;
    /**
     * @maxLength 5000
     * @example "string"
     */
    SubjectDN?: string;
    /**
     * @maxLength 5000
     * @example "string"
     */
    IssuerDN?: string;
    /**
     * @maxLength 66
     * @example "string"
     */
    SerialNumber?: string;
    /**
     * @maxLength 60
     * @example "string"
     */
    SignatureAlgorithm?: string;
    /** @format int32 */
    Version?: number;
    /**
     * @maxLength 200
     * @example "string"
     */
    FingerprintSha1?: string;
    /**
     * @maxLength 200
     * @example "string"
     */
    FingerprintSha256?: string;
    /**
     * @maxLength 200
     * @example "string"
     */
    FingerprintSha512?: string;
    KeystoreEntry?: ComSapHciApiKeystoreEntryCreate;
}
/** ChainCertificate (for update) */
export interface ComSapHciApiChainCertificateUpdate {
    /** @maxLength 250 */
    Alias?: string;
    /**
     * @maxLength 1000
     * @example "string"
     */
    Validity?: string;
    /**
     * @maxLength 30
     * @example "string"
     */
    KeyType?: string;
    /** @format int32 */
    KeySize?: number;
    /** @example "/Date(1492098664000)/" */
    ValidNotBefore?: string;
    /** @example "/Date(1492098664000)/" */
    ValidNotAfter?: string;
    /**
     * @maxLength 5000
     * @example "string"
     */
    SubjectDN?: string;
    /**
     * @maxLength 5000
     * @example "string"
     */
    IssuerDN?: string;
    /**
     * @maxLength 66
     * @example "string"
     */
    SerialNumber?: string;
    /**
     * @maxLength 60
     * @example "string"
     */
    SignatureAlgorithm?: string;
    /** @format int32 */
    Version?: number;
    /**
     * @maxLength 200
     * @example "string"
     */
    FingerprintSha1?: string;
    /**
     * @maxLength 200
     * @example "string"
     */
    FingerprintSha256?: string;
    /**
     * @maxLength 200
     * @example "string"
     */
    FingerprintSha512?: string;
}
/** SSHKeyGenerationRequest (for create) */
export interface ComSapHciApiSSHKeyGenerationRequestCreate {
    /** @maxLength 250 */
    Alias?: string;
    /**
     * @maxLength 10000
     * @example "string"
     */
    SSHFile?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    Password?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    CommonName?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    OrganizationUnit?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    Organization?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    Locality?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    State?: string;
    /**
     * @maxLength 2
     * @example "string"
     */
    Country?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    Email?: string;
    /** @example "/Date(1492098664000)/" */
    ValidNotBefore?: string;
    /** @example "/Date(1492098664000)/" */
    ValidNotAfter?: string;
}
/** SSHKeyGenerationRequest (response) */
export interface ComSapHciApiSSHKeyGenerationRequestCreateResponse {
    /** @maxLength 250 */
    Alias?: string;
}
/** UserCredential */
export interface ComSapHciApiUserCredential {
    /** @example "credentials name" */
    Name?: string;
    /** @example "default, successfactors or openconnectors" */
    Kind?: string;
    /** @example "description" */
    Description?: string;
    /** @example "user" */
    User?: string;
    /** @example "password" */
    Password?: string;
    /** @example "successfactors: company ID" */
    CompanyId?: string;
    SecurityArtifactDescriptor?: ComSapHciApiSecurityArtifactDescriptor;
}
/** RSAKeyGenerationRequest (for create) */
export interface ComSapHciApiRSAKeyGenerationRequestCreate {
    /**
     * @maxLength 250
     * @example "AB"
     */
    Hexalias?: string;
    /**
     * @maxLength 250
     * @example "testRSA"
     */
    Alias?: string;
    /**
     * @maxLength 10000
     * @example "string"
     */
    RSAFile?: string;
    /**
     * @maxLength 60
     * @example "SHA256/RSA"
     */
    SignatureAlgorithm?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    CommonName?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    OrganizationUnit?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    Organization?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    Locality?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    State?: string;
    /**
     * @maxLength 2
     * @example "string"
     */
    Country?: string;
    /**
     * @maxLength 500
     * @example "string"
     */
    Email?: string;
    /** @example "/Date(1562673915367)/" */
    ValidNotBefore?: string;
    /** @example "/Date(1662673915367)/" */
    ValidNotAfter?: string;
}
/** UserCredential (for create) */
export interface ComSapHciApiUserCredentialCreate {
    /** @example "credentials name" */
    Name: string;
    /** @example "default, successfactors or openconnectors" */
    Kind: string;
    /** @example "descrption" */
    Description?: string;
    /** @example "user" */
    User?: string;
    /** @example "password" */
    Password?: string;
    /** @example "successfactors: company ID" */
    CompanyId?: string;
}
/** UserCredential (for update) */
export interface ComSapHciApiUserCredentialUpdate {
    /** @example "credentials name" */
    Name?: string;
    /** @example "default, successfactors or openconnectors" */
    Kind?: string;
    /** @example "description" */
    Description?: string;
    /** @example "user" */
    User?: string;
    /** @example "password" */
    Password?: string;
    /** @example "successfactors: company ID" */
    CompanyId?: string;
}
/** SecureParameter */
export interface ComSapHciApiSecureParameter {
    /** @example "secure parameters artifact name" */
    Name?: string;
    /** @example "description" */
    Description?: string;
    /** @example "value" */
    SecureParam?: string;
    DeployedBy?: string;
    /**
     * @format date-time
     * @example "/Date(1687242561034)/"
     */
    DeployedOn?: string;
    Status?: string;
}
/** SecureParameter (for create) */
export interface ComSapHciApiSecureParameterCreate {
    /** @example "secure parameters artifact name" */
    Name: string;
    /** @example "description" */
    Description?: string;
    /** @example "value" */
    SecureParam: string;
}
/** SecureParameter (for update) */
export interface ComSapHciApiSecureParameterUpdate {
    /** @example "secure parameters artifact name" */
    Name?: string;
    /** @example "description" */
    Description?: string;
    /** @example "value" */
    SecureParam?: string;
}
/** CertificateUserMapping */
export interface ComSapHciApiCertificateUserMapping {
    /** @maxLength 32 */
    Id?: string;
    /** @maxLength 150 */
    User?: string;
    /**
     * @format binary
     * @maxLength 8192
     */
    Certificate?: File;
    /**
     * @maxLength 150
     * @example "string"
     */
    LastModifiedBy?: string;
    /** @example "/Date(1492098664000)/" */
    LastModifiedTime?: string;
    /**
     * @maxLength 150
     * @example "string"
     */
    CreatedBy?: string;
    /** @example "/Date(1492098664000)/" */
    CreatedTime?: string;
    /** @format int64 */
    ValidUntil?: number;
}
/** CertificateUserMapping (for create) */
export interface ComSapHciApiCertificateUserMappingCreate {
    /**
     * @maxLength 150
     * @example "user"
     */
    User?: string;
    /**
     * @format binary
     * @maxLength 8192
     * @example "certificate in base64 encoded PEM-DER format"
     */
    Certificate?: File;
}
/** CertificateUserMapping (for update) */
export interface ComSapHciApiCertificateUserMappingUpdate {
    /** @maxLength 150 */
    User?: string;
    /**
     * @format binary
     * @maxLength 8192
     */
    Certificate?: File;
}
/** OAuth2ClientCredential */
export interface ComSapHciApiOAuth2ClientCredential {
    Name?: string;
    Description?: string;
    TokenServiceUrl?: string;
    ClientId?: string;
    ClientSecret?: string;
    ClientAuthentication?: string;
    Scope?: string;
    ScopeContentType?: string;
    Resource?: string;
    Audience?: string;
    SecurityArtifactDescriptor?: ComSapHciApiSecurityArtifactDescriptor;
}
/** OAuth2ClientCredential (for create) */
export interface ComSapHciApiOAuth2ClientCredentialCreate {
    Name: string;
    Description?: string;
    TokenServiceUrl?: string;
    ClientId?: string;
    ClientSecret?: string;
    /** @example "body (default) or header" */
    ClientAuthentication?: string;
    Scope?: string;
    /** @example "urlencoded (default) or json" */
    ScopeContentType?: string;
    Resource?: string;
    Audience?: string;
    CustomParameters?: ComSapHciApiOAuth2ClientCredentialCustomParameters[];
}
/** OAuth2ClientCredential (for update) */
export interface ComSapHciApiOAuth2ClientCredentialUpdate {
    Name?: string;
    Description?: string;
    TokenServiceUrl?: string;
    ClientId?: string;
    ClientSecret?: string;
    ClientAuthentication?: string;
    Scope?: string;
    ScopeContentType?: string;
    Resource?: string;
    Audience?: string;
}
/** OAuth2ClientCredentialCustomParameters */
export interface ComSapHciApiOAuth2ClientCredentialCustomParameters {
    Key?: string;
    Value?: string;
    /** @example "body or url" */
    SendAsPartOf?: string;
}
/** SecurityArtifactDescriptor */
export interface ComSapHciApiSecurityArtifactDescriptor {
    Type?: string;
    DeployedBy?: string;
    /**
     * @format date-time
     * @example "2017-04-13T15:51:04"
     */
    DeployedOn?: string;
    Status?: string;
}
export interface OdataError {
    error: OdataErrorMain;
}
export interface OdataErrorMain {
    code: string;
    message: {
        lang: string;
        value: string;
    };
}
export interface OdataErrorDetail {
    code: string;
    message: string;
    target?: string;
}
/** AccessPolicy */
export interface ComSapHciApiAccessPolicy {
    Id?: string;
    RoleName?: string;
    Description?: string;
}
/** AccessPolicy-create */
export interface ComSapHciApiAccessPolicyCreate {
    /** @example "AccessPolicy1" */
    RoleName?: string;
    /** @example "Description" */
    Description?: string;
    ArtifactReferences?: ComSapHciApiArtifactReferenceCreate[];
}
/** ArtifactReference-create */
export interface ComSapHciApiArtifactReferenceCreate {
    /** @example "ArtifactReference1" */
    Name?: string;
    /** @example "Description" */
    Description?: string;
    /** @example "INTEGRATION_FLOW" */
    Type?: string;
    /** @example "Name" */
    ConditionAttribute?: string;
    /** @example "Iflow1" */
    ConditionValue?: string;
    /** @example "exactString" */
    ConditionType?: string;
}
/** ArtifactReference-createsep */
export interface ComSapHciApiArtifactReferenceCreatesep {
    /** @example "ArtifactReference2" */
    Name?: string;
    /** @example "Description" */
    Description?: string;
    /** @example "INTEGRATION_FLOW" */
    Type?: string;
    /** @example "Name" */
    ConditionAttribute?: string;
    /** @example "Iflow2" */
    ConditionValue?: string;
    /** @example "exactString" */
    ConditionType?: string;
    /** @example [{"Id":"101"}] */
    AcessPolicy?: object;
}
/** ArtifactReference */
export interface ComSapHciApiArtifactReference {
    /** @example "ArtifactReference1" */
    Id?: string;
    /** @example "ArtifactReference1" */
    Name?: string;
    /** @example "Description" */
    Description?: string;
    /** @uniqueItems true */
    Type?: ("INTEGRATION_FLOW" | "ODATA_SERVICE" | "SCRIPT_COLLECTION" | "VALUE_MAPPING" | "MESSAGE_MAPPING" | "MESSAGE_QUEUE" | "GLOBAL_DATASTORE" | "GLOBAL_VARIABLE" | "SOAP_API_PROVIDER" | "REST_API_PROVIDER" | "DATA_TYPE" | "MESSAGE_TYPE")[];
    /** @uniqueItems true */
    ConditionAttribute?: ("Name" | "ID")[];
    /** @example "Iflow1" */
    ConditionValue?: string;
    /** @uniqueItems true */
    ConditionType?: ("exactString" | "regularExpression")[];
}
export type QueryParamsType = Record<string | number, any>;
export type ResponseFormat = keyof Omit<Body, "body" | "bodyUsed">;
export interface FullRequestParams extends Omit<RequestInit, "body"> {
    /** set parameter to `true` for call `securityWorker` for this request */
    secure?: boolean;
    /** request path */
    path: string;
    /** content type of request body */
    type?: ContentType;
    /** query params */
    query?: QueryParamsType;
    /** format of response (i.e. response.json() -> format: "json") */
    format?: ResponseFormat;
    /** request body */
    body?: unknown;
    /** base url */
    baseUrl?: string;
    /** request cancellation token */
    cancelToken?: CancelToken;
}
export type RequestParams = Omit<FullRequestParams, "body" | "method" | "query" | "path">;
export interface ApiConfig<SecurityDataType = unknown> {
    baseUrl?: string;
    baseApiParams?: Omit<RequestParams, "baseUrl" | "cancelToken" | "signal">;
    securityWorker?: (securityData: SecurityDataType | null) => Promise<RequestParams | void> | RequestParams | void;
    customFetch?: typeof fetch;
}
export interface HttpResponse<D extends unknown, E extends unknown = unknown> extends Response {
    data: D;
    error: E;
}
type CancelToken = Symbol | string | number;
export declare enum ContentType {
    Json = "application/json",
    FormData = "multipart/form-data",
    UrlEncoded = "application/x-www-form-urlencoded",
    Text = "text/plain"
}
export declare class HttpClient<SecurityDataType = unknown> {
    baseUrl: string;
    private securityData;
    private securityWorker?;
    private abortControllers;
    private customFetch;
    private baseApiParams;
    constructor(apiConfig?: ApiConfig<SecurityDataType>);
    setSecurityData: (data: SecurityDataType | null) => void;
    protected encodeQueryParam(key: string, value: any): string;
    protected addQueryParam(query: QueryParamsType, key: string): string;
    protected addArrayQueryParam(query: QueryParamsType, key: string): any;
    protected toQueryString(rawQuery?: QueryParamsType): string;
    protected addQueryParams(rawQuery?: QueryParamsType): string;
    private contentFormatters;
    protected mergeRequestParams(params1: RequestParams, params2?: RequestParams): RequestParams;
    protected createAbortSignal: (cancelToken: CancelToken) => AbortSignal | undefined;
    abortRequest: (cancelToken: CancelToken) => void;
    request: <T = any, E = any>({ body, secure, path, type, query, format, baseUrl, cancelToken, ...params }: FullRequestParams) => Promise<HttpResponse<T, E>>;
}
/**
 * @title Security Content
 * @version 1.0.0
 * @baseUrl https://{Account Short Name}-tmn.{SSL Host}.{Landscapehost}/api/v1
 * @externalDocs https://help.sap.com/docs/integration-suite/sap-integration-suite/e01d3f0076384cf7b2d18adbccb067a1.html
 *
 * Security content enables you to get, write or delete various security content. Depending on the kind of connection, the applied authorization and authentication options, and the direction of the request (either inbound or outbound), different kind of security content needs to be created and deployed on the tenant. You can manage the floowing security content types:
 * * User credentials
 * * OAuth2 client credentials
 * * Keystore entries
 * * Certificate-to-user mappings
 *
 * This API is implemented based on OData version 2 specification.
 *  If you like to request the OData API on your tenant, you need to know how to find out the address of the HTTP call. For more information, see [HTTP Calls and URL Components](https://help.sap.com/docs/SAP_INTEGRATION_SUITE/51ab953548be4459bfe8539ecaeee98d/ca75e12fc5904d96a038aef6c00db5fc.html).
 *  If you face problems using the API, you can create a ticket. Check out for the right support component on this page: [Support Components](https://help.sap.com/docs/SAP_INTEGRATION_SUITE/51ab953548be4459bfe8539ecaeee98d/bd2d883ae8ee4e2696038be7741d93d7.html).
 */
export declare class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDataType> {
    /**
     * @description You can use the following request to request the CSRF token for this session, which is required for write access via POST, PUT and DELETE operations. Copy the received X-CSRF-Token from the response header.<br> **In API sandbox this request is not relevant!**
     *
     * @tags CSRF Token Handling
     * @name GetRoot
     * @summary Get CSRF token.
     * @request GET:/
     * @secure
     */
    getRoot: (params?: RequestParams) => Promise<HttpResponse<void, OdataError>>;
    userCredentials: {
        /**
         * @description You can use the following request to get all deployed user credentials.
         *
         * @tags User Credentials
         * @name UserCredentialsList
         * @summary Get all deployed user credentials.
         * @request GET:/UserCredentials
         * @secure
         */
        userCredentialsList: (params?: RequestParams) => Promise<HttpResponse<{
            d?: {
                results?: ComSapHciApiUserCredential[];
            };
        }, OdataError>>;
        /**
         * @description You can use the following request to add user credentials.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions to add user credentials.
         *
         * @tags User Credentials
         * @name UserCredentialsCreate
         * @summary Add user credentials.
         * @request POST:/UserCredentials
         * @secure
         */
        userCredentialsCreate: (UserCredential: ComSapHciApiUserCredentialCreate, params?: RequestParams) => Promise<HttpResponse<void, OdataError>>;
    };
    userCredentialsName: {
        /**
         * @description You can use the following request to get user credentials for a given credentials name.
         *
         * @tags User Credentials
         * @name UserCredentialsList
         * @summary Get user credentials by name.
         * @request GET:/UserCredentials('{Name}')
         * @secure
         */
        userCredentialsList: (name: string, params?: RequestParams) => Promise<HttpResponse<{
            d?: ComSapHciApiUserCredential;
        }, OdataError>>;
        /**
         * @description You can use the following request to update user credentials.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions to update user credentials.
         *
         * @tags User Credentials
         * @name UserCredentialsUpdate
         * @summary Update user credentials.
         * @request PUT:/UserCredentials('{Name}')
         * @secure
         */
        userCredentialsUpdate: (name: string, UserCredential: ComSapHciApiUserCredentialUpdate, params?: RequestParams) => Promise<HttpResponse<void, OdataError>>;
        /**
         * @description You can use the following request to delete user credentials.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions to delete user credentials.
         *
         * @tags User Credentials
         * @name UserCredentialsDelete
         * @summary Delete user credentials.
         * @request DELETE:/UserCredentials('{Name}')
         * @secure
         */
        userCredentialsDelete: (name: string, params?: RequestParams) => Promise<HttpResponse<void, void | OdataError>>;
    };
    secureParameters: {
        /**
         * @description You can use the following request to get all deployed secure parameters. The response body does not contain the values for the secure parameters. You can only store the values with the OData API, but you can't retrieve the values. This resource is only available in the Neo environment.
         *
         * @tags Secure Parameters
         * @name SecureParametersList
         * @summary Get all deployed secure parameters.
         * @request GET:/SecureParameters
         * @secure
         */
        secureParametersList: (params?: RequestParams) => Promise<HttpResponse<{
            d?: {
                results?: ComSapHciApiSecureParameter[];
            };
        }, OdataError>>;
        /**
         * @description You can use the following request to add secure parameters.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions to add secure parameters. This resource is only available in the Neo environment.
         *
         * @tags Secure Parameters
         * @name SecureParametersCreate
         * @summary Add secure parameters.
         * @request POST:/SecureParameters
         * @secure
         */
        secureParametersCreate: (SecureParameter: ComSapHciApiSecureParameterCreate, params?: RequestParams) => Promise<HttpResponse<void, OdataError>>;
    };
    secureParametersName: {
        /**
         * @description You can use the following request to get secure parameters for a artifact name. This resource is only available in the Neo environment.
         *
         * @tags Secure Parameters
         * @name SecureParametersList
         * @summary Get secure parameters by name.
         * @request GET:/SecureParameters('{Name}')
         * @secure
         */
        secureParametersList: (name: string, params?: RequestParams) => Promise<HttpResponse<{
            d?: ComSapHciApiSecureParameter;
        }, OdataError>>;
        /**
         * @description You can use the following request to update secure parameters.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions to update secure parameters. There are the following length restrictions: Name: 150 characters, SecureParam: 255 characters, Description: 1024 chacracters. This resource is only available in the Neo environment.
         *
         * @tags Secure Parameters
         * @name SecureParametersUpdate
         * @summary Update secure parameters.
         * @request PUT:/SecureParameters('{Name}')
         * @secure
         */
        secureParametersUpdate: (name: string, SecureParameters: ComSapHciApiSecureParameterUpdate, params?: RequestParams) => Promise<HttpResponse<void, OdataError>>;
        /**
         * @description You can use the following request to delete secure parameters.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions to delete secure parameters. This resource is only available in the Neo environment.
         *
         * @tags Secure Parameters
         * @name SecureParametersDelete
         * @summary Delete secure parameters.
         * @request DELETE:/SecureParameters('{Name}')
         * @secure
         */
        secureParametersDelete: (name: string, params?: RequestParams) => Promise<HttpResponse<void, void | OdataError>>;
    };
    oAuth2ClientCredentials: {
        /**
         * @description You can use the following request to get all OAuth2 client credentials.
         *
         * @tags OAuth2 Client Credentials
         * @name OAuth2ClientCredentialsList
         * @summary Get all OAuth2 client credentials.
         * @request GET:/OAuth2ClientCredentials
         * @secure
         */
        oAuth2ClientCredentialsList: (query?: {
            /**
             * Expand related entities.
             * @uniqueItems true
             */
            $expand?: "CustomParameters"[];
        }, params?: RequestParams) => Promise<HttpResponse<{
            d?: {
                results?: ComSapHciApiOAuth2ClientCredential[];
            };
        }, OdataError>>;
        /**
         * @description You can use the following request to add OAuth2 client credentials.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions to add credentials.
         *
         * @tags OAuth2 Client Credentials
         * @name OAuth2ClientCredentialsCreate
         * @summary Add OAuth2 client credentials
         * @request POST:/OAuth2ClientCredentials
         * @secure
         */
        oAuth2ClientCredentialsCreate: (OAuth2ClientCredentials: ComSapHciApiOAuth2ClientCredentialCreate, params?: RequestParams) => Promise<HttpResponse<void, OdataError>>;
    };
    oAuth2ClientCredentialsName: {
        /**
         * @description You can use the following request to get OAuth2 client credentials for a given credentials name.
         *
         * @tags OAuth2 Client Credentials
         * @name OAuth2ClientCredentialsList
         * @summary Get OAuth2 client credentials by name.
         * @request GET:/OAuth2ClientCredentials('{Name}')
         * @secure
         */
        oAuth2ClientCredentialsList: (name: string, query?: {
            /**
             * Expand related entities.
             * @uniqueItems true
             */
            $expand?: "CustomParameters"[];
        }, params?: RequestParams) => Promise<HttpResponse<{
            d?: ComSapHciApiOAuth2ClientCredential;
        }, OdataError>>;
        /**
         * @description You can use the following request to update OAuth2 client credentials.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions to update credentials.
         *
         * @tags OAuth2 Client Credentials
         * @name OAuth2ClientCredentialsUpdate
         * @summary Update OAuth2 client credentials
         * @request PUT:/OAuth2ClientCredentials('{Name}')
         * @secure
         */
        oAuth2ClientCredentialsUpdate: (name: string, OAuth2ClientCredentials: ComSapHciApiOAuth2ClientCredentialUpdate, params?: RequestParams) => Promise<HttpResponse<void, OdataError>>;
        /**
         * @description You can use the following request to delete OAuth2 client credentials.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions to delete credentials.
         *
         * @tags OAuth2 Client Credentials
         * @name OAuth2ClientCredentialsDelete
         * @summary Delete OAuth2 client credentials
         * @request DELETE:/OAuth2ClientCredentials('{Name}')
         * @secure
         */
        oAuth2ClientCredentialsDelete: (name: string, params?: RequestParams) => Promise<HttpResponse<void, void | OdataError>>;
    };
    certificateResourcesHexalias: {
        /**
         * @description You can use the following request to import or update a certificate.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions to add/update certificates.
         *
         * @tags Certificate
         * @name ValueUpdate
         * @summary Import/update a certificate.
         * @request PUT:/CertificateResources('{Hexalias}')/$value
         * @secure
         */
        valueUpdate: (hexalias: string, query: {
            /**
             * Verify certificate signature.
             * @default "false"
             */
            fingerprintVerified: (true | false)[];
            /**
             * Provide current keystore entries in the response.
             * @default "false"
             */
            returnKeystoreEntries: (true | false)[];
            /**
             * Update existing certificate.
             * @default "false"
             */
            update: (true | false)[];
        }, CertificateResource: string, params?: RequestParams) => Promise<HttpResponse<{
            /** Collection of KeystoreEntry */
            d?: {
                results?: ComSapHciApiKeystoreEntry[];
            };
        }, OdataError>>;
    };
    keystoreEntriesHexalias: {
        /**
         * @description You can use the following request to export a certificate for a certain alias (hex encoded value). If the specified alias represents a key pair, the certificate with the public key is exported.
         *
         * @tags Certificate
         * @name CertificateValueList
         * @summary Export certificate.
         * @request GET:/KeystoreEntries('{Hexalias}')/Certificate/$value
         * @secure
         */
        certificateValueList: (hexalias: string, query: {
            /**
             * Select the , from which the certificate chain shall be exported: Tenant keystore ```system```, the backup keystore ```backup_admin_system```, the renewal keystore ```KeyRenewal``` or the history keystore ```KeyHistory```.
             * @default "system"
             */
            keystoreName: ("system" | "backup_admin_system" | "KeyRenewal" | "KeyHistory")[];
            /**
             * Provide root ca certificate for key pairs if existing.
             * @default "false"
             */
            rootCA: (true | false)[];
        }, params?: RequestParams) => Promise<HttpResponse<void, OdataError>>;
        /**
         * @description You can use the following request to generate a certificate signing request.
         *
         * @tags Key Pair
         * @name SigningRequestValueList
         * @summary Generate a certificate signing request.
         * @request GET:/KeystoreEntries('{Hexalias}')/SigningRequest/$value
         * @secure
         */
        signingRequestValueList: (hexalias: string, params?: RequestParams) => Promise<HttpResponse<void, OdataError>>;
        /**
         * @description You can use the following request to get a certificate chain of a key pair.
         *
         * @tags Key Pair
         * @name ChainCertificatesList
         * @summary Get certificate chain.
         * @request GET:/KeystoreEntries('{Hexalias}')/ChainCertificates
         * @secure
         */
        chainCertificatesList: (hexalias: string, query: {
            /**
             * Select the , from which the certificate chain shall be exported: Tenant keystore ```system```, the backup keystore ```backup_admin_system``` or the key renewal keystore ```KeyRenewal```.
             * @default "system"
             */
            keystoreName: ("system" | "backup_admin_system" | "KeyRenewal" | "KeyHistory")[];
            /**
             * Select properties to be returned.
             * @uniqueItems true
             */
            $select?: ("Alias" | "KeyType" | "LastModifiedBy" | "LastModifiedTime" | "Owner" | "Validity")[];
        }, params?: RequestParams) => Promise<HttpResponse<{
            /** Collection of ChainCertificate */
            d?: {
                results?: ComSapHciApiChainCertificate[];
            };
        }, OdataError>>;
        /**
         * @description You can use the following request to export a certificate chain.
         *
         * @tags Key Pair
         * @name ChainResourceValueList
         * @summary Export certificate chain.
         * @request GET:/KeystoreEntries('{Hexalias}')/ChainResource/$value
         * @secure
         */
        chainResourceValueList: (hexalias: string, query: {
            /**
             * Select the , from which the certificate chain shall be exported: Tenant keystore ```system```, the backup keystore ```backup_admin_system```, the key renewal keystore ```KeyRenewal``` or the history keystore ```KeyHistory```.
             * @default "system"
             */
            keystoreName: ("system" | "backup_admin_system" | "KeyRenewal" | "KeyHistory")[];
        }, params?: RequestParams) => Promise<HttpResponse<void, OdataError>>;
        /**
         * @description You can use the following request to get a keystore entry for a certain alias.
         *
         * @tags Keystore Entry
         * @name KeystoreEntriesList
         * @summary Get keystore entry by alias
         * @request GET:/KeystoreEntries('{Hexalias}')
         * @secure
         */
        keystoreEntriesList: (hexalias: string, query: {
            /**
             * Select the keystore, from which the certificate chain shall be exported: Tenant keystore ```system```, the backup keystore ```backup_admin_system``` or the key renewal keystore ```KeyRenewal```.
             * @default "system"
             */
            keystoreName: ("system" | "backup_admin_system" | "KeyRenewal")[];
            /**
             * Select properties to be returned.
             * @uniqueItems true
             */
            $select?: ("Alias" | "KeyType" | "LastModifiedBy" | "LastModifiedTime" | "Owner" | "Status" | "Type" | "Validity")[];
        }, params?: RequestParams) => Promise<HttpResponse<{
            d?: ComSapHciApiKeystoreEntry;
        }, void | OdataError>>;
        /**
         * @description You can use the following request to rename entry alias of the current tenant keystore.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions for the keystore.
         *
         * @tags Keystore Entry
         * @name KeystoreEntriesUpdate
         * @summary Rename an entry alias of tenant keystore.
         * @request PUT:/KeystoreEntries('{Hexalias}')
         * @secure
         */
        keystoreEntriesUpdate: (hexalias: string, KeystoreEntry: ComSapHciApiKeystoreEntryRename, query?: {
            /** URL encoded new alias name */
            renameAlias?: string;
            /**
             * Return HeaAlias (in square brackets) of the renamed entry in the response
             * @default "false"
             */
            returnHexAlias?: (true | false)[];
            /**
             * Provide current keystore entries in the response.
             * @default "false"
             */
            returnKeystoreEntries?: (true | false)[];
        }, params?: RequestParams) => Promise<HttpResponse<{
            d?: ComSapHciApiKeystoreEntry;
        }, OdataError>>;
        /**
         * @description You can use the following request to delete an entry of the tenant keystore or to activate an entry from the renewal keystore (keystoreName=KeyRenewal).<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions for the keystore.
         *
         * @tags Keystore Entry
         * @name KeystoreEntriesDelete
         * @summary Delete/activate keystore entry.
         * @request DELETE:/KeystoreEntries('{Hexalias}')
         * @secure
         */
        keystoreEntriesDelete: (hexalias: string, query?: {
            /** Only relevant for activating an entry from the renewal keystore: ```KeyRenewal``` must be selected. */
            keystoreName?: "KeyRenewal"[];
            /** Only relevant for activating a renewal entry: ```true``` must be selected. */
            activate?: true[];
            /**
             * Provide current keystore entries in the response.
             * @default "false"
             */
            returnKeystoreEntries?: (true | false)[];
        }, params?: RequestParams) => Promise<HttpResponse<{
            d?: ComSapHciApiKeystoreEntry;
        }, OdataError>>;
    };
    keyPairGenerationRequests: {
        /**
         * @description You can use the following request to generate a key pair.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions to generate key pair.
         *
         * @tags Key Pair
         * @name KeyPairGenerationRequestsCreate
         * @summary Generate a key pair.
         * @request POST:/KeyPairGenerationRequests
         * @secure
         */
        keyPairGenerationRequestsCreate: (query: {
            /**
             * Provide current keystore entries in the response.
             * @default "false"
             */
            returnKeystoreEntries: (true | false)[];
        }, KeyPairGenerationRequest: ComSapHciApiKeyPairGenerationRequestCreate, params?: RequestParams) => Promise<HttpResponse<{
            d?: ComSapHciApiKeyPairGenerationRequest;
        }, OdataError>>;
    };
    rsaKeyGenerationRequests: {
        /**
         * @description You can use the following request to generate an RSA key pair.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions to generate key pair.<br>As 'Hexalias', provide any hexadecimal value; the system calculates the correct hexadecimal value from the specified 'Alias' property.<br>Note the following regarding the 'RSAFile': If you're using a simple HTTP request with a JSON body, the value of the property 'RSAFile' must contain the base64-encoded private key with padding.<br>Possible values for 'SignatureAlgorithm' are 'SHA-512/RSA', 'SHA-256/RSA', 'SHA-384/RSA', 'SHA-224/RSA', 'SHA-1/RSA'.<br>For private keys, only PKCS#1 format with a PEM header 'BEGIN RSA PRIVATE KEY' is supported. This operation can only by performed on the 'system' keystore.
         *
         * @tags Key Pair
         * @name RsaKeyGenerationRequestsCreate
         * @summary Generate an RSA key pair.
         * @request POST:/RSAKeyGenerationRequests
         * @secure
         */
        rsaKeyGenerationRequestsCreate: (query: {
            /**
             * Provide current keystore entries in the response.
             * @default "false"
             */
            returnKeystoreEntries: (true | false)[];
        }, RSAKeyGenerationRequest: ComSapHciApiRSAKeyGenerationRequestCreate, params?: RequestParams) => Promise<HttpResponse<{
            d?: ComSapHciApiKeyPairGenerationRequest;
        }, OdataError>>;
    };
    sshKeyGenerationRequests: {
        /**
         * @description You can use the following request to generate an SSH private key pair from an OpenSSH key (with cryptographic algorithms RSA, DSA or EC) or a PuTTY file (with cryptographic algorithms RSA or DSA, but not EC). The alias for the generated key pair depends on the algorithm: id_rsa, id_dsa or id_ec.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions to generate key pair.
         *
         * @tags Key Pair
         * @name SshKeyGenerationRequestsCreate
         * @summary Generate SSH private key pair.
         * @request POST:/SSHKeyGenerationRequests
         * @secure
         */
        sshKeyGenerationRequestsCreate: (query: {
            /**
             * Provide current keystore entries in the response.
             * @default "false"
             */
            returnKeystoreEntries?: (true | false)[];
            /**
             * Update existing SSH key pair.
             * @default "false"
             */
            update: (true | false)[];
        }, SSHKeyGenerationRequest: ComSapHciApiSSHKeyGenerationRequestCreate, params?: RequestParams) => Promise<HttpResponse<{
            d?: ComSapHciApiSSHKeyGenerationRequestCreateResponse;
        }, OdataError>>;
    };
    keyPairResources: {
        /**
         * @description You can use the following request to import or update a key pair.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions to add/update key pair.
         *
         * @tags Key Pair
         * @name KeyPairResourcesCreate
         * @summary Import/update a key pair.
         * @request POST:/KeyPairResources
         * @secure
         */
        keyPairResourcesCreate: (query: {
            /**
             * Verify signature of the top CA certificate.
             * @default "false"
             */
            fingerprintVerified: (true | false)[];
            /**
             * Provide current keystore entries in the response.
             * @default "false"
             */
            returnKeystoreEntries: (true | false)[];
            /**
             * Update existing key pair.
             * @default "false"
             */
            update: (true | false)[];
        }, KeyPairResource: ComSapHciApiKeyPairResourceUpdate, params?: RequestParams) => Promise<HttpResponse<{
            /** Collection of KeystoreEntry */
            d?: {
                results?: ComSapHciApiKeystoreEntry[];
            };
        }, OdataError>>;
    };
    certificateChainResourcesHexalias: {
        /**
         * @description You can use the following request to import a certificate chain.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions for the keystore.
         *
         * @tags Key Pair
         * @name ValueUpdate
         * @summary Import a certificate chain.
         * @request PUT:/CertificateChainResources('{Hexalias}')/$value
         * @secure
         */
        valueUpdate: (hexalias: string, query: {
            /**
             * Verify signature of the top CA certificate .
             * @default "false"
             */
            fingerprintVerified: (true | false)[];
            /**
             * Provide current keystore entries in the response.
             * @default "false"
             */
            returnKeystoreEntries: (true | false)[];
        }, CertificateChainResource: string, params?: RequestParams) => Promise<HttpResponse<{
            /** Collection of KeystoreEntry */
            d?: {
                results?: ComSapHciApiKeystoreEntry[];
            };
        }, OdataError>>;
    };
    keystoreEntries: {
        /**
         * @description You can use the following request to get all entries of a keystore.
         *
         * @tags Keystore Entry
         * @name KeystoreEntriesList
         * @summary Get all entries of a keystore.
         * @request GET:/KeystoreEntries
         * @secure
         */
        keystoreEntriesList: (query: {
            /**
             * Select the keystore, from which the certificate chain shall be exported: Tenant keystore ```system```, the backup keystore ```backup_admin_system``` or the key renewal keystore ```KeyRenewal```.
             * @default "system"
             */
            keystoreName: ("system" | "backup_admin_system" | "KeyRenewal")[];
            /**
             * Select properties to be returned.
             * @uniqueItems true
             */
            $select?: ("Alias" | "Hexalias" | "KeyType" | "LastModifiedBy" | "LastModifiedTime" | "Owner" | "Status" | "Type" | "Validity")[];
        }, params?: RequestParams) => Promise<HttpResponse<{
            /** Collection of KeystoreEntry */
            d?: {
                results?: ComSapHciApiKeystoreEntry[];
            };
        }, OdataError>>;
    };
    keystoreEntries69645F727361: {
        /**
         * @description You can use the following request to export the public key of the provided certificate/key pair in OpenSSH format.
         *
         * @tags Keystore Entry
         * @name SshkeyValueList
         * @summary Export public key in OpenSSH format.
         * @request GET:/KeystoreEntries('69645F727361')/Sshkey/$value
         * @secure
         */
        sshkeyValueList: (params?: RequestParams) => Promise<HttpResponse<void, OdataError>>;
    };
    keystoresKeystoreName: {
        /**
         * @description You can use the following request to get keystore properties and entries.
         *
         * @tags Keystore
         * @name KeystoresList
         * @summary Get keystore properties and entries.
         * @request GET:/Keystores('{KeystoreName}')
         * @secure
         */
        keystoresList: (keystoreName: ("system" | "backup_admin_system")[], query?: {
            /**
             * Select properties to be returned.
             * @uniqueItems false
             */
            $select?: ("Entries" | "LastModifiedBy" | "LastModifiedTime" | "Size")[];
            /**
             * Expand related entities.
             * @uniqueItems true
             */
            $expand?: "Entries"[];
        }, params?: RequestParams) => Promise<HttpResponse<{
            /** Collection of KeystoreEntry */
            d?: {
                results?: ComSapHciApiKeystoreEntry[];
            };
        }, OdataError>>;
        /**
         * @description You can use the following request to get the number of keystore entries.
         *
         * @tags Keystore
         * @name SizeValueList
         * @summary Get number of keystore entries.
         * @request GET:/Keystores('{KeystoreName}')/Size/$value
         * @secure
         */
        sizeValueList: (keystoreName: ("system" | "KeyRenewal")[], params?: RequestParams) => Promise<HttpResponse<void, OdataError>>;
    };
    keystoreResources: {
        /**
         * @description You can use the following request to import entries to the tenant keystore (target keystore name ```system```) or to back up the keystore entries owned by tenant administrator (target keystore name ```backup_admin_system```). For the import entries are ignored during import, which do not represent a X.509 certificate entry or a key pair entry with a certificate chain of X.509 certificates. The backup overwrites the old backup keystore. <br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions to import the keystore entries.
         *
         * @tags Keystore
         * @name KeystoreResourcesCreate
         * @summary Import/back up a keystore.
         * @request POST:/KeystoreResources
         * @secure
         */
        keystoreResourcesCreate: (Keystore: ComSapHciApiKeystoreResourceCreate, query?: {
            /**
             * Only required for keystore import - must be deselected for backup. There are different options possible:<br>
             * * ```replace``` - old keystore entries are deleted and imported entries are added.<br>
             * * ```merge``` - only entries with new alias are added.<br>
             * * ```overwrite``` - all entries are uploaded and possibly replace existing entries with the same alias.
             * @default "overwrite"
             */
            importOption?: ("replace" | "merge" | "overwrite")[];
            /**
             * Provide current keystore entries with the import status in the response.
             * @default "true"
             */
            returnKeystoreEntries?: (true | false)[];
        }, params?: RequestParams) => Promise<HttpResponse<{
            /** Collection of KeystoreEntry */
            d?: {
                results?: ComSapHciApiKeystoreEntryImported[];
            };
        }, OdataError>>;
    };
    keystoreResourcesKeystoreName: {
        /**
         * @description You can use the following request to export the public content of the keystore, which was created by SAP or tenant administrator.<br> For a private key entry the complete chain is exported as described in the following example: If the key pair entry has the alias ```test```, and has a chain of three certificates, the certificate of the entry gets the alias ```test``` in the exported keystore, the intermediate CA certificate gets the alias ```test_1```, and the root CA certificate gets the alias ```test_2```. If entries with ```test_1```or ```test_2``` already exist, an additional underscore ```_``` is added to the alias until it is unique.
         *
         * @tags Keystore
         * @name KeystoreResourcesList
         * @summary Export public keystore content.
         * @request GET:/KeystoreResources('{KeystoreName}')
         * @secure
         */
        keystoreResourcesList: (keystoreName: ("system" | "backup_admin_system")[], params?: RequestParams) => Promise<HttpResponse<{
            /** Collection of KeystoreEntry */
            d?: {
                results?: ComSapHciApiKeystoreResource[];
            };
        }, OdataError>>;
    };
    keystoreResourcesSystem: {
        /**
         * @description You can use the following request to retrieve backed up keystore entries or to delete several entries of the current keystore, which are owned by tenant administrator.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions for the keystore.
         *
         * @tags Keystore
         * @name KeystoreResourcesSystemUpdate
         * @summary Retrieve backed up/delete keystore entries.
         * @request PUT:/KeystoreResources('system')
         * @secure
         */
        keystoreResourcesSystemUpdate: (KeystoreResource: ComSapHciApiKeystoreEntryAliasMassdelete, query?: {
            /** Only for retrieving backed up keystore entries ```backup_admin_system``` must be selected. For deletion of several keystore entries this parameter is not relevant. */
            retrieveBackup?: "backup_admin_system"[];
            /** Only for deletion of keystore entries ```true``` must be selected. For retrieving backed up keystore entries this parameter is not relevant. */
            deleteEntries?: ("true" | "false")[];
            /**
             * Only relevant for retrieving backed up keystore entries (default ```overwrite```). There are different options possible:<br>
             * * ```replace``` - old keystore entries are deleted and imported entries are added.<br>
             * * ```overwrite``` - all entries are uploaded and possibly replace existing entries with the same alias.
             */
            importOption?: ("replace" | "overwrite")[];
            /**
             * Provide current keystore entries with the import status in the response.
             * @default "true"
             */
            returnKeystoreEntries?: (true | false)[];
        }, params?: RequestParams) => Promise<HttpResponse<{
            /** Collection of KeystoreEntry */
            d?: {
                results?: ComSapHciApiKeystoreEntryImported[];
            };
        }, OdataError>>;
    };
    historyKeystoreEntries: {
        /**
         * @description You can use the following request to get entries of the history keystore.
         *
         * @tags Keystore History
         * @name HistoryKeystoreEntriesList
         * @summary Get entries of the history keystore.
         * @request GET:/HistoryKeystoreEntries
         * @secure
         */
        historyKeystoreEntriesList: (query?: {
            /**
             * Select properties to be returned.
             * @uniqueItems false
             */
            $select?: ("Alias" | "Hexalias" | "KeyType" | "LastModifiedBy" | "LastModifiedTime" | "Owner" | "Validity")[];
        }, params?: RequestParams) => Promise<HttpResponse<{
            /** Collection of HistoryKeystoreEntry */
            d?: {
                results?: ComSapHciApiHistoryKeystoreEntry[];
            };
        }, OdataError>>;
    };
    historyKeystoreEntriesHexalias: {
        /**
         * @description You can use the following request to get a keystore history entry for a certain alias.
         *
         * @tags Keystore History
         * @name HistoryKeystoreEntriesList
         * @summary Get keystore history entry by alias
         * @request GET:/HistoryKeystoreEntries('{Hexalias}')
         * @secure
         */
        historyKeystoreEntriesList: (hexalias: string, query?: {
            /**
             * Select properties to be returned.
             * @uniqueItems false
             */
            $select?: ("Alias" | "KeyType" | "LastModifiedBy" | "LastModifiedTime" | "Owner" | "Validity")[];
        }, params?: RequestParams) => Promise<HttpResponse<{
            d?: ComSapHciApiHistoryKeystoreEntry;
        }, OdataError>>;
        /**
         * @description You can use the following request to restore an entry from the keystore history to the renewal keystore.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions for the keystore.
         *
         * @tags Keystore History
         * @name HistoryKeystoreEntriesUpdate
         * @summary Restore an entry from history to renewal keystore.
         * @request PUT:/HistoryKeystoreEntries('{Hexalias}')
         * @secure
         */
        historyKeystoreEntriesUpdate: (hexalias: string, query: {
            /** URL encoded destination alias name (optional). If it is empty the new alias is provided in the form ```[number]_original alias```. */
            destinationAlias?: string;
            /**
             * Copy attribute must be ```true```
             * @default "true"
             */
            copy: (true | false)[];
        }, KeystoreEntry: ComSapHciApiKeystoreEntryRename, params?: RequestParams) => Promise<HttpResponse<void, OdataError>>;
    };
    certificateUserMappings: {
        /**
         * @description You can use the following request to get all certificate-to-user mappings.This resource is only available in the Neo environment.<br>For more information, see SAP Help Portal documentation at [Environment-Specific Aspects Integration Developers Should Know](https://help.sap.com/docs/CLOUD_INTEGRATION/368c481cd6954bdfa5d0435479fd4eaf/639a0612e32c498fa7480580d90c9ea6.html?locale=en-US).
         *
         * @tags Certificate-to-User Mapping
         * @name CertificateUserMappingsList
         * @summary Get all certificate-to-user mappings.
         * @request GET:/CertificateUserMappings
         * @secure
         */
        certificateUserMappingsList: (query?: {
            /**
             * Filter items only by user is supported.<br>
             * Example: ```User eq 'supplier1'``` returns certificate mapping for the user 'supplier1'
             */
            $filter?: string;
            /**
             * Order items by property values.
             * @uniqueItems true
             */
            $orderby?: ("Id" | "Id desc" | "User" | "User desc" | "Certificate" | "Certificate desc" | "CreatedBy" | "CreatedBy desc" | "CreatedTime" | "CreatedTime desc" | "LastModifiedBy" | "LastModifiedBy desc" | "LastModifiedTime" | "LastModifiedTime desc" | "ValidUntil")[];
            /**
             * Select properties to be returned.
             * @uniqueItems true
             */
            $select?: ("Id" | "User" | "Certificate" | "LastModifiedBy" | "LastModifiedTime" | "CreatedBy" | "CreatedTime" | "ValidUntil")[];
        }, params?: RequestParams) => Promise<HttpResponse<{
            /** Collection of CertificateUserMapping */
            d?: {
                results?: ComSapHciApiCertificateUserMapping[];
            };
        }, OdataError>>;
        /**
         * @description You can use the following request to add a new certificate-to-user mapping or to update the user of an existing mapping.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions to create certificate-to-user mappings.This resource is only available in the Neo environment.<br>For more information, see SAP Help Portal documentation at [Environment-Specific Aspects Integration Developers Should Know](https://help.sap.com/docs/CLOUD_INTEGRATION/368c481cd6954bdfa5d0435479fd4eaf/639a0612e32c498fa7480580d90c9ea6.html?locale=en-US).
         *
         * @tags Certificate-to-User Mapping
         * @name CertificateUserMappingsCreate
         * @summary Add new certificate-to-user mapping.
         * @request POST:/CertificateUserMappings
         * @secure
         */
        certificateUserMappingsCreate: (CertificateUserMapping: ComSapHciApiCertificateUserMappingCreate, params?: RequestParams) => Promise<HttpResponse<{
            d?: ComSapHciApiCertificateUserMapping;
        }, OdataError>>;
    };
    certificateUserMappingsId: {
        /**
         * @description You can use the following request to get a certificate-to-user mapping for a given Id.This resource is only available in the Neo environment.<br>For more information, see SAP Help Portal documentation at [Environment-Specific Aspects Integration Developers Should Know](https://help.sap.com/docs/CLOUD_INTEGRATION/368c481cd6954bdfa5d0435479fd4eaf/639a0612e32c498fa7480580d90c9ea6.html?locale=en-US).
         *
         * @tags Certificate-to-User Mapping
         * @name CertificateUserMappingsList
         * @summary Get certificate-to-user mapping.
         * @request GET:/CertificateUserMappings('{Id}')
         * @secure
         */
        certificateUserMappingsList: (id: string, query?: {
            /**
             * Select properties to be returned.
             * @uniqueItems true
             */
            $select?: ("User" | "Certificate" | "LastModifiedBy" | "LastModifiedTime" | "CreatedBy" | "CreatedTime")[];
        }, params?: RequestParams) => Promise<HttpResponse<{
            d?: ComSapHciApiCertificateUserMapping;
        }, void | OdataError>>;
        /**
         * @description You can use the following request to delete certificate-to-user mapping.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions to delete certificate-to-user mappings.This resource is only available in the Neo environment.<br>For more information, see SAP Help Portal documentation at [Environment-Specific Aspects Integration Developers Should Know](https://help.sap.com/docs/CLOUD_INTEGRATION/368c481cd6954bdfa5d0435479fd4eaf/639a0612e32c498fa7480580d90c9ea6.html?locale=en-US).
         *
         * @tags Certificate-to-User Mapping
         * @name CertificateUserMappingsDelete
         * @summary Delete certificate-to-user mapping.
         * @request DELETE:/CertificateUserMappings('{Id}')
         * @secure
         */
        certificateUserMappingsDelete: (id: string, params?: RequestParams) => Promise<HttpResponse<void, void | OdataError>>;
    };
    accessPolicies: {
        /**
         * @description You can use the following request to get all access policies.<br>
         *
         * @tags Access Policies
         * @name AccessPoliciesList
         * @summary Get all access policies.
         * @request GET:/AccessPolicies
         * @secure
         */
        accessPoliciesList: (query?: {
            /**
             * Count the number of retrieved entries by selecting ```allpages```.
             * @uniqueItems true
             */
            $inlinecount?: "allpages"[];
            /**
             * Show only the first n items.
             * @min 0
             */
            $top?: number;
            /**
             * Skip the first n items.
             * @min 0
             */
            $skip?: number;
            /**
             * Filter items by property values.<br>
             * For any filter use only the 'eq' operator.<br>
             * Example: ```RoleName eq 'AccessPolicy1'```.<br>
             * Available properties for filter: Id, RoleName, Description
             */
            $filter?: string;
            /**
             * Order items by property values 'RoleName' and/or 'Id'.
             * @uniqueItems true
             */
            $orderby?: ("Id" | "Id desc" | "RoleName" | "RoleName desc")[];
            /**
             * Select properties to be returned.
             * @uniqueItems true
             */
            $select?: ("Id" | "RoleName" | "Description")[];
            /**
             * Related artifact references to be returned.
             * @uniqueItems true
             */
            $expand?: "ArtifactReferences"[];
        }, params?: RequestParams) => Promise<HttpResponse<{
            d?: {
                results?: ComSapHciApiAccessPolicy[];
            };
        }, OdataError>>;
        /**
         * @description You can use the following request to add access policies. You can also create respective artifact reference in one call.<br> **ArtifactReference** - Following values of the *Type* property: 'MESSAGE_QUEUE' 'GLOBAL_DATA_STORE' 'GLOBAL_VARIABLE' have only one value for the property *ConditionAttribute*: 'Name' Check the ArtifactReference model for more values.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions to add user credentials.
         *
         * @tags Access Policies
         * @name AccessPoliciesCreate
         * @summary Add access policies.
         * @request POST:/AccessPolicies
         * @secure
         */
        accessPoliciesCreate: (AccessPolicy: ComSapHciApiAccessPolicyCreate, params?: RequestParams) => Promise<HttpResponse<void, OdataError>>;
    };
    accessPoliciesId: {
        /**
         * @description You can use the following request to delete access policy.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions to delete access policies.
         *
         * @tags Access Policies
         * @name AccessPoliciesDelete
         * @summary Delete access policy with a certain Id.
         * @request DELETE:/AccessPolicies({Id})
         * @secure
         */
        accessPoliciesDelete: (id: string, params?: RequestParams) => Promise<HttpResponse<void, void | OdataError>>;
        /**
         * @description You can use the following request to update access policy.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions to update access policies.
         *
         * @tags Access Policies
         * @name AccessPoliciesPartialUpdate
         * @summary Updates access policy with a certain Id.
         * @request PATCH:/AccessPolicies({Id})
         * @secure
         */
        accessPoliciesPartialUpdate: (id: string, params?: RequestParams) => Promise<HttpResponse<void, void | OdataError>>;
    };
    artifactReferences: {
        /**
         * @description You can use the following request to get all artifact references.<br>
         *
         * @tags Artifact References
         * @name ArtifactReferencesList
         * @summary Get all artifact references.
         * @request GET:/ArtifactReferences
         * @secure
         */
        artifactReferencesList: (query?: {
            /**
             * Count the number of retrieved entries by selecting ```allpages```.
             * @uniqueItems true
             */
            $inlinecount?: "allpages"[];
            /**
             * Show only the first n items.
             * @min 0
             */
            $top?: number;
            /**
             * Skip the first n items.
             * @min 0
             */
            $skip?: number;
            /**
             * Filter items by property values.<br>
             * For any filter use only the 'eq' operator.<br>
             * Example: ```Id eq 'ArtifactReference1'```.<br>
             * Available properties for filter: Id
             */
            $filter?: string;
            /**
             * Order items by property values.
             * @uniqueItems true
             */
            $orderby?: ("Id" | "Id desc" | "Name" | "Name desc")[];
            /**
             * Select properties to be returned.
             * @uniqueItems true
             */
            $select?: ("Id" | "Name" | "Description" | "Type" | "ConditionAttribute" | "ConditionValue" | "ConditionType")[];
        }, params?: RequestParams) => Promise<HttpResponse<{
            d?: {
                results?: ComSapHciApiArtifactReference[];
            };
        }, OdataError>>;
        /**
         * @description You can use the following request to add artifact references to access policies. <br> **ArtifactReference** - Following values of the *Type* property: 'MESSAGE_QUEUE' 'GLOBAL_DATA_STORE' 'GLOBAL_VARIABLE' have only one value for the property *ConditionAttribute*: 'Name' Check the ArtifactReference model for more values.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions to add user credentials.
         *
         * @tags Artifact References
         * @name ArtifactReferencesCreate
         * @summary Add artifact reference to access policy.
         * @request POST:/ArtifactReferences
         * @secure
         */
        artifactReferencesCreate: (ArtifactReference: ComSapHciApiArtifactReferenceCreatesep, params?: RequestParams) => Promise<HttpResponse<void, OdataError>>;
    };
    artifactReferencesId: {
        /**
         * @description You can use the following request to delete artifact reference.<br> In API sandbox only read APIs could be tested. You need to configure an API endpoint for your account, where you have the required write permissions to delete artifact reference.
         *
         * @tags Artifact References
         * @name ArtifactReferencesDelete
         * @summary Delete artifact reference with a certain Id.
         * @request DELETE:/ArtifactReferences({Id})
         * @secure
         */
        artifactReferencesDelete: (id: string, params?: RequestParams) => Promise<HttpResponse<void, void | OdataError>>;
    };
}
export {};
