import { Schema } from "effect";
import { type ApiKeyAuthMethod } from "./auth-method";
export declare const LegacyTemplateValue: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Union<readonly [Schema.String, Schema.Struct<{
    readonly type: Schema.Literal<"variable">;
    readonly name: Schema.String;
}>]>>]>;
export type LegacyTemplateValue = typeof LegacyTemplateValue.Type;
/** The pre-canonical apiKey template shape (OpenAPI native + what the v1→v2
 *  migration wrote into MCP/GraphQL configs). */
export declare const LegacyApiKeyTemplate: Schema.Struct<{
    readonly slug: Schema.String;
    readonly type: Schema.Literal<"apiKey">;
    readonly headers: Schema.optional<Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Union<readonly [Schema.String, Schema.Struct<{
        readonly type: Schema.Literal<"variable">;
        readonly name: Schema.String;
    }>]>>]>>>;
    readonly queryParams: Schema.optional<Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.$Array<Schema.Union<readonly [Schema.String, Schema.Struct<{
        readonly type: Schema.Literal<"variable">;
        readonly name: Schema.String;
    }>]>>]>>>;
}>;
export type LegacyApiKeyTemplate = typeof LegacyApiKeyTemplate.Type;
export declare const decodeLegacyApiKeyTemplate: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Option").Option<{
    readonly type: "apiKey";
    readonly slug: string;
    readonly headers?: {
        readonly [x: string]: string | readonly (string | {
            readonly name: string;
            readonly type: "variable";
        })[];
    } | undefined;
    readonly queryParams?: {
        readonly [x: string]: string | readonly (string | {
            readonly name: string;
            readonly type: "variable";
        })[];
    } | undefined;
}>;
/** Rewrite a legacy apiKey template into the canonical placements method.
 *  Slug and variable names are preserved verbatim. */
export declare const apiKeyMethodFromLegacyTemplate: (template: LegacyApiKeyTemplate) => ApiKeyAuthMethod;
//# sourceMappingURL=legacy.d.ts.map