import type { BaseProvider, PreparedEffect, ProviderInjection, SecretInjectionStrategy, SecretValue } from '@kubricate/core';
export interface InMemoryProviderConfig {
    name?: string;
}
type SupportedStrategies = 'env';
export declare class InMemoryProvider implements BaseProvider<InMemoryProviderConfig, SupportedStrategies> {
    name: string | undefined;
    injectes: ProviderInjection[];
    readonly allowMerge = true;
    readonly secretType = "Kubricate.InMemory";
    readonly supportedStrategies: SupportedStrategies[];
    readonly targetKind = "Deployment";
    config: InMemoryProviderConfig;
    constructor(config?: InMemoryProviderConfig);
    setInjects(injectes: ProviderInjection[]): void;
    getTargetPath(strategy: SecretInjectionStrategy): string;
    getInjectionPayload(): unknown;
    getEffectIdentifier(effect: PreparedEffect): string;
    /**
     * Merge provider-level effects into final applyable resources.
     * Used to deduplicate (e.g. K8s secret name + ns).
     */
    mergeSecrets(effects: PreparedEffect[]): PreparedEffect[];
    /**
     * Prepare the secret value for in-memory storage.
     */
    prepare(name: string, value: SecretValue): PreparedEffect[];
}
export {};
//# sourceMappingURL=InMemoryProvider.d.ts.map