import { z } from 'zod/mini';
/**
 * Shared locator process fields — single source of truth for connection and
 * provider binding config. Composed by `ConfigZod`, refined by
 * `ResolvedLocatorConfigZod`, and imported by orchestration run-config parsing.
 */
export declare const LocatorConfigFieldsZod: z.ZodMiniObject<{
    chain: z.ZodMiniDefault<z.ZodMiniObject<{
        id: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@ariestools/sdk").BrandedHex, string>>>;
        genesisRewardAddress: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<Lowercase<string> & {
            readonly __hex: true;
        } & {
            readonly __address: true;
        }, string>>, z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@xyo-network/sdk-protocol").XyoQuantAddress, string>>]>>;
    }, z.core.$strip>>;
    log: z.ZodMiniDefault<import("zod").ZodObject<{
        logLevel: import("zod").ZodDefault<import("zod").ZodEnum<{
            info: "info";
            error: "error";
            warn: "warn";
            log: "log";
            debug: "debug";
            trace: "trace";
        }>>;
        silent: import("zod").ZodDefault<import("zod").ZodBoolean>;
    }, z.core.$strip>>;
    connections: z.ZodMiniDefault<import("zod").ZodDefault<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
        access: import("zod").ZodOptional<import("zod").ZodEnum<{
            read: "read";
            write: "write";
        }>>;
        root: import("zod").ZodString;
        store: import("zod").ZodOptional<import("zod").ZodString>;
        type: import("zod").ZodLiteral<"lmdb">;
    }, z.core.$strip>, import("zod").ZodObject<{
        type: import("zod").ZodLiteral<"mongo">;
        connectionString: import("zod").ZodOptional<import("zod").ZodString>;
        database: import("zod").ZodOptional<import("zod").ZodString>;
        domain: import("zod").ZodOptional<import("zod").ZodString>;
        password: import("zod").ZodOptional<import("zod").ZodString>;
        username: import("zod").ZodOptional<import("zod").ZodString>;
        collection: import("zod").ZodOptional<import("zod").ZodString>;
    }, z.core.$strip>, import("zod").ZodObject<{
        type: import("zod").ZodLiteral<"rpc">;
        protocol: import("zod").ZodDefault<import("zod").ZodString>;
        url: import("zod").ZodOptional<import("zod").ZodString>;
        networkId: import("zod").ZodOptional<import("zod").ZodString>;
        sessionId: import("zod").ZodOptional<import("zod").ZodString>;
    }, z.core.$strip>, import("zod").ZodObject<{
        type: import("zod").ZodLiteral<"rest">;
        baseUrl: import("zod").ZodString;
    }, z.core.$strip>, import("zod").ZodObject<{
        bucket: import("zod").ZodOptional<import("zod").ZodString>;
        endpoint: import("zod").ZodOptional<import("zod").ZodString>;
        prefix: import("zod").ZodOptional<import("zod").ZodString>;
        readUrl: import("zod").ZodOptional<import("zod").ZodString>;
        type: import("zod").ZodLiteral<"s3">;
        accessKeyId: import("zod").ZodOptional<import("zod").ZodString>;
        accountId: import("zod").ZodOptional<import("zod").ZodString>;
        secretAccessKey: import("zod").ZodOptional<import("zod").ZodString>;
    }, z.core.$strip>, import("zod").ZodObject<{
        type: import("zod").ZodLiteral<"evm-rpc">;
        url: import("zod").ZodString;
        chainId: import("zod").ZodOptional<import("zod").ZodString>;
    }, z.core.$strip>, import("zod").ZodObject<{
        type: import("zod").ZodLiteral<"memory">;
    }, z.core.$strip>], "type">>>>;
    providerBindings: z.ZodMiniDefault<import("zod").ZodDefault<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodObject<{
        connection: import("zod").ZodOptional<import("zod").ZodString>;
        provider: import("zod").ZodOptional<import("zod").ZodString>;
    }, z.core.$strip>>>>;
    providers: z.ZodMiniDefault<import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
        moniker: import("zod").ZodString;
        labels: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
    }, z.core.$loose>>>>;
    telemetry: z.ZodMiniDefault<import("zod").ZodObject<{
        metrics: import("zod").ZodOptional<import("zod").ZodObject<{
            scrape: import("zod").ZodObject<{
                path: import("zod").ZodDefault<import("zod").ZodString>;
                port: import("zod").ZodOptional<import("zod").ZodCoercedNumber<unknown>>;
            }, z.core.$strip>;
        }, z.core.$strip>>;
        otel: import("zod").ZodOptional<import("zod").ZodObject<{
            otlpEndpoint: import("zod").ZodOptional<import("zod").ZodURL>;
        }, z.core.$strip>>;
    }, z.core.$strip>>;
    validation: z.ZodMiniDefault<import("zod").ZodObject<{
        signerAuthorizations: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
            type: import("zod").ZodLiteral<"completedStepReward">;
            signers: import("zod").ZodArray<import("zod/mini").ZodMiniUnion<readonly [import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<Lowercase<string> & {
                readonly __hex: true;
            } & {
                readonly __address: true;
            }, string>>, import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<import("@xyo-network/sdk-protocol").XyoQuantAddress, string>>]>>;
        }, z.core.$strip>, import("zod").ZodObject<{
            type: import("zod").ZodLiteral<"derivedReceive">;
            scope: import("zod").ZodString;
            signers: import("zod").ZodArray<import("zod/mini").ZodMiniUnion<readonly [import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<Lowercase<string> & {
                readonly __hex: true;
            } & {
                readonly __address: true;
            }, string>>, import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<import("@xyo-network/sdk-protocol").XyoQuantAddress, string>>]>>;
        }, z.core.$strip>], "type">>>;
        minCandidates: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
        backoffMs: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
    }, z.core.$strip>>;
}, z.core.$strict>;
/** Loose locator input (yaml, host config, run-config process slice). */
export type LocatorConfig = z.infer<typeof LocatorConfigFieldsZod>;
/**
 * Parses locator process fields from a host, actor, or run-config slice.
 * Strips actor/orchestration keys (`name`, `actors`, `healthCheckPort`, …)
 * before applying `LocatorConfigFieldsZod`.
 */
export declare function parseLocatorConfigFields(raw: unknown): LocatorConfig;
//# sourceMappingURL=LocatorConfigFields.d.ts.map