/**
 * Copyright (c) 2020-present, Goldman Sachs
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { type Hashable } from '@finos/legend-shared';
export declare abstract class V1_AuthenticationStrategy implements Hashable {
    abstract get hashCode(): string;
}
export declare class V1_DelegatedKerberosAuthenticationStrategy extends V1_AuthenticationStrategy implements Hashable {
    serverPrincipal?: string | undefined;
    get hashCode(): string;
}
export declare class V1_DefaultH2AuthenticationStrategy extends V1_AuthenticationStrategy implements Hashable {
    get hashCode(): string;
}
export declare class V1_TestAuthenticationStrategy extends V1_DefaultH2AuthenticationStrategy implements Hashable {
    get hashCode(): string;
}
export declare class V1_OAuthAuthenticationStrategy extends V1_AuthenticationStrategy implements Hashable {
    oauthKey: string;
    scopeName: string;
    get hashCode(): string;
}
export declare class V1_ApiTokenAuthenticationStrategy extends V1_AuthenticationStrategy implements Hashable {
    apiToken: string;
    get hashCode(): string;
}
export declare class V1_SnowflakePublicAuthenticationStrategy extends V1_AuthenticationStrategy implements Hashable {
    privateKeyVaultReference: string;
    passPhraseVaultReference: string;
    publicUserName: string;
    get hashCode(): string;
}
export declare class V1_GCPApplicationDefaultCredentialsAuthenticationStrategy extends V1_AuthenticationStrategy implements Hashable {
    get hashCode(): string;
}
export declare class V1_GCPWorkloadIdentityFederationAuthenticationStrategy extends V1_AuthenticationStrategy implements Hashable {
    serviceAccountEmail: string;
    additionalGcpScopes: string[];
    get hashCode(): string;
}
export declare class V1_UsernamePasswordAuthenticationStrategy extends V1_AuthenticationStrategy implements Hashable {
    baseVaultReference?: string | undefined;
    userNameVaultReference: string;
    passwordVaultReference: string;
    get hashCode(): string;
}
export declare class V1_MiddleTierUsernamePasswordAuthenticationStrategy extends V1_AuthenticationStrategy implements Hashable {
    vaultReference: string;
    get hashCode(): string;
}
export declare class V1_TrinoDelegatedKerberosAuthenticationStrategy extends V1_AuthenticationStrategy implements Hashable {
    kerberosRemoteServiceName: string;
    kerberosUseCanonicalHostname: boolean;
    get hashCode(): string;
}
//# sourceMappingURL=V1_AuthenticationStrategy.d.ts.map