import { SSMClient } from "@aws-sdk/client-ssm";
import { SecretsManagerClient } from "@aws-sdk/client-secrets-manager";
export declare function ensureAwsCredentialsForStack(stack: string | undefined): Promise<void>;
interface SchemaField {
    type: "field";
    name: string;
    description: string;
    secret: boolean;
    optional: boolean;
}
interface SchemaGroup {
    type: "group";
    name: string;
    description: string;
    fields: Record<string, SchemaField | SchemaGroup>;
}
type SchemaEntry = SchemaField | SchemaGroup;
export interface CredentialSchema {
    fields: Record<string, SchemaEntry>;
    keyedBy: string | null;
}
export interface ExternalServiceMeta {
    name: string;
    type: string;
    description: string;
    secretPrefix: string;
}
export declare function discoverExternalServices(ssmClient: SSMClient, tenant: string, platformEnv: string): Promise<Map<string, {
    meta: ExternalServiceMeta;
    schema?: CredentialSchema;
}>>;
export declare function setCommand(servicePath: string | undefined, opts: {
    key?: string;
    all?: boolean;
    json?: string;
    stack?: string;
    stage?: string;
    region?: string;
}): Promise<void>;
export declare function isResourceNotFound(err: unknown): boolean;
export declare function addKeyToInstanceIndex(client: SecretsManagerClient, secretPrefix: string, key: string, serviceName: string): Promise<void>;
export {};
