import { ExtendedIntegrationPluginId, FormComponentType, FormItem, FormSection, InputDataType } from '../../../types/index.js'; type ApiKeyFormItem = { label: string; header: string; key: string; required?: boolean; valuePrefix?: string; tooltip?: { markdownText: string; }; }; type BasicAuthConfig = { label?: string; placeholder?: string; }; export declare enum ClientAuthMethod { BASIC = "BASIC", BEARER = "BEARER", POST = "POST" } export type AuthMethods = { basic?: boolean | { username?: BasicAuthConfig; password?: BasicAuthConfig; }; firebase?: boolean; oauth?: boolean; bearer?: boolean; apiKey?: boolean; apiKeyForm?: ApiKeyFormItem[]; apiKeyFormDisplayName?: string; tokenPrefixed?: boolean | { prefix: string; }; oauth2BringYourOwn?: OAuth2Config; oauth2SuperblocksClient?: OAuth2HostedClientConfig; oauth2TokenExchange?: boolean; passwordGrantFlow?: boolean; authorizationCodeFlow?: boolean; clientCredentialsFlow?: boolean; }; export type AuthorizationStateConfig = 'datasource-auth-state'; export type AuthorizationExtraParams = { responseType?: string; accessType?: string; stateConfigExclude?: AuthorizationStateConfig[]; owner?: string; additionalUrlParams?: Record; }; type OAuth2Config = { tokenUrl: string; authorizationUrl: string; revokeTokenUrl: string; clientAuthMethod?: ClientAuthMethod; userInfoUrl?: string; authorizationExtraParams?: AuthorizationExtraParams; iconUrl: string; defaultScope?: string; }; type OAuth2HostedClientConfig = OAuth2Config & { clientId: string; }; export declare const authSections: ({ startVersion, endVersion, pluginId, pluginName, defaultMethod, enabledMethods, allowNone, fieldNamesToHide, isProto, prependItems }: { startVersion: string; endVersion?: string; pluginId: ExtendedIntegrationPluginId; pluginName: string; enabledMethods: AuthMethods; defaultMethod?: string; allowNone?: boolean; fieldNamesToHide?: string[]; isProto?: boolean; prependItems?: FormItem[]; }) => FormSection[]; export declare const BASE_SUBJECT_TOKEN_SOURCE: { label: string; name: string; componentType: FormComponentType; tooltip: { markdownText: string; }; options: { displayName: string; value: string; key: string; }[]; initialValue: string; singleLine: boolean; }; export declare const BASE_SUBJECT_TOKEN_TYPE: { label: string; name: string; componentType: FormComponentType; tooltip: { markdownText: string; }; placeholder: string; singleLine: boolean; }; export declare const BASE_SUBJECT_TOKEN_STATIC_TOKEN: { label: string; name: string; componentType: FormComponentType; dataType: InputDataType; tooltip: { markdownText: string; }; singleLine: boolean; }; export declare const BASE_TOKEN_URL: { label: string; name: string; componentType: FormComponentType; rules: { required: boolean; message: string; }[]; tooltip: { markdownText: string; }; singleLine: boolean; placeholder: string; }; export declare const BASE_CLIENT_ID: { label: string; name: string; componentType: FormComponentType; placeholder: string; rules: { required: boolean; message: string; }[]; tooltip: { markdownText: string; }; singleLine: boolean; }; export declare const BASE_CLIENT_SECRET: { label: string; name: string; componentType: FormComponentType; rules: { required: boolean; message: string; }[]; placeholder: string; dataType: InputDataType; tooltip: { markdownText: string; }; singleLine: boolean; }; export declare const BASE_AUDIENCE: { label: string; name: string; componentType: FormComponentType; tooltip: { markdownText: string; }; singleLine: boolean; }; export declare const BASE_SCOPE: { label: string; name: string; componentType: FormComponentType; placeholder: string; tooltip: { markdownText: string; }; singleLine: boolean; }; export {}; //# sourceMappingURL=auth.d.ts.map