import type { CachingContext, SystemStatusRunner } from '@xyo-network/xl1-protocol/protocol-lib';
import { z } from 'zod/mini';
import { type LocatorConfig } from '../config/LocatorConfigFields.js';
import type { ProviderFactoryLocatorInstance } from '../CreatableProvider/index.js';
/** SystemStatusRunnerZod constant. */
export declare const SystemStatusRunnerZod: z.ZodMiniCustom<SystemStatusRunner, SystemStatusRunner>;
/** ProviderFactoryLocatorZod constant. */
export declare const ProviderFactoryLocatorZod: z.ZodMiniType<ProviderFactoryLocatorInstance>;
/** CreatableProviderContextType type. */
export type CreatableProviderContextType = CachingContext & {
    _id?: string;
    config: LocatorConfig;
    locator: ProviderFactoryLocatorInstance;
    statusReporter?: SystemStatusRunner;
};
/** BaseConfigContextZod constant. */
export declare const BaseConfigContextZod: z.ZodMiniObject<{
    logger: import("zod").ZodOptional<import("zod").ZodCustom<import("@ariestools/sdk").Logger, import("@ariestools/sdk").Logger>>;
    meterProvider: import("zod").ZodOptional<import("zod").ZodCustom<import("@opentelemetry/api").MeterProvider, import("@opentelemetry/api").MeterProvider>>;
    singletons: import("zod").ZodRecord<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodSymbol]>, import("zod").ZodUnknown>;
    timeBudgetLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
    traceProvider: import("zod").ZodOptional<import("zod").ZodCustom<import("@opentelemetry/api").TracerProvider, import("@opentelemetry/api").TracerProvider>>;
    caches: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodCustom<import("@xyo-network/xl1-protocol/protocol-lib").MapType<string, unknown>, import("@xyo-network/xl1-protocol/protocol-lib").MapType<string, unknown>>>;
    config: 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").XyoQuantAddress, string>>]>>;
            deploymentBlock: z.ZodMiniOptional<z.ZodMiniNumber<unknown>>;
        }, 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>;
            eventQueryBlockChunkSize: import("zod").ZodOptional<import("zod").ZodCoercedNumber<unknown>>;
        }, 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").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").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.$loose>;
    locator: z.ZodMiniOptional<z.ZodMiniType<ProviderFactoryLocatorInstance<CreatableProviderContextType>, unknown, z.core.$ZodTypeInternals<ProviderFactoryLocatorInstance<CreatableProviderContextType>, unknown>>>;
}, z.core.$strip>;
/** BaseConfigContext type. */
export type BaseConfigContext = z.infer<typeof BaseConfigContextZod>;
/** CreatableProviderContextZod constant. */
export declare const CreatableProviderContextZod: z.ZodMiniType<CreatableProviderContextType>;
/** Type guard that checks if a value is a valid BaseConfigContext. */
export declare const isBaseConfigContext: <T>(value: T) => value is T & {
    singletons: Record<string | symbol, unknown>;
    caches: Record<string, import("@xyo-network/xl1-protocol/protocol-lib").MapType<string, unknown>>;
    config: {
        [x: string]: unknown;
        chain: {
            id?: import("@ariestools/sdk").BrandedHex | undefined;
            genesisRewardAddress?: (Lowercase<string> & {
                readonly __hex: true;
            } & {
                readonly __address: true;
            }) | import("@xyo-network/sdk").XyoQuantAddress | undefined;
            deploymentBlock?: number | undefined;
        };
        log: {
            logLevel: "info" | "error" | "warn" | "log" | "debug" | "trace";
            silent: boolean;
        };
        connections: Record<string, {
            root: string;
            type: "lmdb";
            access?: "read" | "write" | undefined;
            store?: string | undefined;
        } | {
            type: "mongo";
            connectionString?: string | undefined;
            database?: string | undefined;
            domain?: string | undefined;
            password?: string | undefined;
            username?: string | undefined;
            collection?: string | undefined;
        } | {
            type: "rpc";
            protocol: string;
            url?: string | undefined;
            networkId?: string | undefined;
            sessionId?: string | undefined;
        } | {
            type: "rest";
            baseUrl: string;
        } | {
            type: "s3";
            bucket?: string | undefined;
            endpoint?: string | undefined;
            prefix?: string | undefined;
            readUrl?: string | undefined;
            accessKeyId?: string | undefined;
            accountId?: string | undefined;
            secretAccessKey?: string | undefined;
        } | {
            type: "evm-rpc";
            url: string;
            chainId?: string | undefined;
            eventQueryBlockChunkSize?: number | undefined;
        } | {
            type: "memory";
        }>;
        providerBindings: Record<string, {
            connection?: string | undefined;
            provider?: string | undefined;
        }>;
        providers: {
            [x: string]: unknown;
            moniker: string;
            labels?: string[] | undefined;
        }[];
        telemetry: {
            metrics?: {
                scrape: {
                    path: string;
                    port?: number | undefined;
                };
            } | undefined;
            otel?: {
                otlpEndpoint?: string | undefined;
            } | undefined;
        };
        validation: {
            signerAuthorizations: ({
                type: "completedStepReward";
                signers: (import("@xyo-network/sdk").XyoQuantAddress | (Lowercase<string> & {
                    readonly __hex: true;
                } & {
                    readonly __address: true;
                }))[];
            } | {
                type: "derivedReceive";
                scope: string;
                signers: (import("@xyo-network/sdk").XyoQuantAddress | (Lowercase<string> & {
                    readonly __hex: true;
                } & {
                    readonly __address: true;
                }))[];
            })[];
            minCandidates: number;
            backoffMs: number;
        };
    };
    logger?: import("@ariestools/sdk").Logger | undefined;
    meterProvider?: import("@opentelemetry/api").MeterProvider | undefined;
    timeBudgetLimit?: number | undefined;
    traceProvider?: import("@opentelemetry/api").TracerProvider | undefined;
    locator?: ProviderFactoryLocatorInstance<CreatableProviderContextType> | undefined;
};
/** Converts a value to BaseConfigContext, throwing if invalid. */
export declare const asBaseConfigContext: {
    <T>(value: T): (T & {
        singletons: Record<string | symbol, unknown>;
        caches: Record<string, import("@xyo-network/xl1-protocol/protocol-lib").MapType<string, unknown>>;
        config: {
            [x: string]: unknown;
            chain: {
                id?: import("@ariestools/sdk").BrandedHex | undefined;
                genesisRewardAddress?: (Lowercase<string> & {
                    readonly __hex: true;
                } & {
                    readonly __address: true;
                }) | import("@xyo-network/sdk").XyoQuantAddress | undefined;
                deploymentBlock?: number | undefined;
            };
            log: {
                logLevel: "info" | "error" | "warn" | "log" | "debug" | "trace";
                silent: boolean;
            };
            connections: Record<string, {
                root: string;
                type: "lmdb";
                access?: "read" | "write" | undefined;
                store?: string | undefined;
            } | {
                type: "mongo";
                connectionString?: string | undefined;
                database?: string | undefined;
                domain?: string | undefined;
                password?: string | undefined;
                username?: string | undefined;
                collection?: string | undefined;
            } | {
                type: "rpc";
                protocol: string;
                url?: string | undefined;
                networkId?: string | undefined;
                sessionId?: string | undefined;
            } | {
                type: "rest";
                baseUrl: string;
            } | {
                type: "s3";
                bucket?: string | undefined;
                endpoint?: string | undefined;
                prefix?: string | undefined;
                readUrl?: string | undefined;
                accessKeyId?: string | undefined;
                accountId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | {
                type: "evm-rpc";
                url: string;
                chainId?: string | undefined;
                eventQueryBlockChunkSize?: number | undefined;
            } | {
                type: "memory";
            }>;
            providerBindings: Record<string, {
                connection?: string | undefined;
                provider?: string | undefined;
            }>;
            providers: {
                [x: string]: unknown;
                moniker: string;
                labels?: string[] | undefined;
            }[];
            telemetry: {
                metrics?: {
                    scrape: {
                        path: string;
                        port?: number | undefined;
                    };
                } | undefined;
                otel?: {
                    otlpEndpoint?: string | undefined;
                } | undefined;
            };
            validation: {
                signerAuthorizations: ({
                    type: "completedStepReward";
                    signers: (import("@xyo-network/sdk").XyoQuantAddress | (Lowercase<string> & {
                        readonly __hex: true;
                    } & {
                        readonly __address: true;
                    }))[];
                } | {
                    type: "derivedReceive";
                    scope: string;
                    signers: (import("@xyo-network/sdk").XyoQuantAddress | (Lowercase<string> & {
                        readonly __hex: true;
                    } & {
                        readonly __address: true;
                    }))[];
                })[];
                minCandidates: number;
                backoffMs: number;
            };
        };
        logger?: import("@ariestools/sdk").Logger | undefined;
        meterProvider?: import("@opentelemetry/api").MeterProvider | undefined;
        timeBudgetLimit?: number | undefined;
        traceProvider?: import("@opentelemetry/api").TracerProvider | undefined;
        locator?: ProviderFactoryLocatorInstance<CreatableProviderContextType> | undefined;
    }) | undefined;
    <T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
        singletons: Record<string | symbol, unknown>;
        caches: Record<string, import("@xyo-network/xl1-protocol/protocol-lib").MapType<string, unknown>>;
        config: {
            [x: string]: unknown;
            chain: {
                id?: import("@ariestools/sdk").BrandedHex | undefined;
                genesisRewardAddress?: (Lowercase<string> & {
                    readonly __hex: true;
                } & {
                    readonly __address: true;
                }) | import("@xyo-network/sdk").XyoQuantAddress | undefined;
                deploymentBlock?: number | undefined;
            };
            log: {
                logLevel: "info" | "error" | "warn" | "log" | "debug" | "trace";
                silent: boolean;
            };
            connections: Record<string, {
                root: string;
                type: "lmdb";
                access?: "read" | "write" | undefined;
                store?: string | undefined;
            } | {
                type: "mongo";
                connectionString?: string | undefined;
                database?: string | undefined;
                domain?: string | undefined;
                password?: string | undefined;
                username?: string | undefined;
                collection?: string | undefined;
            } | {
                type: "rpc";
                protocol: string;
                url?: string | undefined;
                networkId?: string | undefined;
                sessionId?: string | undefined;
            } | {
                type: "rest";
                baseUrl: string;
            } | {
                type: "s3";
                bucket?: string | undefined;
                endpoint?: string | undefined;
                prefix?: string | undefined;
                readUrl?: string | undefined;
                accessKeyId?: string | undefined;
                accountId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | {
                type: "evm-rpc";
                url: string;
                chainId?: string | undefined;
                eventQueryBlockChunkSize?: number | undefined;
            } | {
                type: "memory";
            }>;
            providerBindings: Record<string, {
                connection?: string | undefined;
                provider?: string | undefined;
            }>;
            providers: {
                [x: string]: unknown;
                moniker: string;
                labels?: string[] | undefined;
            }[];
            telemetry: {
                metrics?: {
                    scrape: {
                        path: string;
                        port?: number | undefined;
                    };
                } | undefined;
                otel?: {
                    otlpEndpoint?: string | undefined;
                } | undefined;
            };
            validation: {
                signerAuthorizations: ({
                    type: "completedStepReward";
                    signers: (import("@xyo-network/sdk").XyoQuantAddress | (Lowercase<string> & {
                        readonly __hex: true;
                    } & {
                        readonly __address: true;
                    }))[];
                } | {
                    type: "derivedReceive";
                    scope: string;
                    signers: (import("@xyo-network/sdk").XyoQuantAddress | (Lowercase<string> & {
                        readonly __hex: true;
                    } & {
                        readonly __address: true;
                    }))[];
                })[];
                minCandidates: number;
                backoffMs: number;
            };
        };
        logger?: import("@ariestools/sdk").Logger | undefined;
        meterProvider?: import("@opentelemetry/api").MeterProvider | undefined;
        timeBudgetLimit?: number | undefined;
        traceProvider?: import("@opentelemetry/api").TracerProvider | undefined;
        locator?: ProviderFactoryLocatorInstance<CreatableProviderContextType> | undefined;
    };
};
/** toBaseConfigContext constant. */
export declare const toBaseConfigContext: {
    (value: unknown): {
        singletons: Record<string | symbol, unknown>;
        caches: Record<string, import("@xyo-network/xl1-protocol/protocol-lib").MapType<string, unknown>>;
        config: {
            [x: string]: unknown;
            chain: {
                id?: import("@ariestools/sdk").BrandedHex | undefined;
                genesisRewardAddress?: (Lowercase<string> & {
                    readonly __hex: true;
                } & {
                    readonly __address: true;
                }) | import("@xyo-network/sdk").XyoQuantAddress | undefined;
                deploymentBlock?: number | undefined;
            };
            log: {
                logLevel: "info" | "error" | "warn" | "log" | "debug" | "trace";
                silent: boolean;
            };
            connections: Record<string, {
                root: string;
                type: "lmdb";
                access?: "read" | "write" | undefined;
                store?: string | undefined;
            } | {
                type: "mongo";
                connectionString?: string | undefined;
                database?: string | undefined;
                domain?: string | undefined;
                password?: string | undefined;
                username?: string | undefined;
                collection?: string | undefined;
            } | {
                type: "rpc";
                protocol: string;
                url?: string | undefined;
                networkId?: string | undefined;
                sessionId?: string | undefined;
            } | {
                type: "rest";
                baseUrl: string;
            } | {
                type: "s3";
                bucket?: string | undefined;
                endpoint?: string | undefined;
                prefix?: string | undefined;
                readUrl?: string | undefined;
                accessKeyId?: string | undefined;
                accountId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | {
                type: "evm-rpc";
                url: string;
                chainId?: string | undefined;
                eventQueryBlockChunkSize?: number | undefined;
            } | {
                type: "memory";
            }>;
            providerBindings: Record<string, {
                connection?: string | undefined;
                provider?: string | undefined;
            }>;
            providers: {
                [x: string]: unknown;
                moniker: string;
                labels?: string[] | undefined;
            }[];
            telemetry: {
                metrics?: {
                    scrape: {
                        path: string;
                        port?: number | undefined;
                    };
                } | undefined;
                otel?: {
                    otlpEndpoint?: string | undefined;
                } | undefined;
            };
            validation: {
                signerAuthorizations: ({
                    type: "completedStepReward";
                    signers: (import("@xyo-network/sdk").XyoQuantAddress | (Lowercase<string> & {
                        readonly __hex: true;
                    } & {
                        readonly __address: true;
                    }))[];
                } | {
                    type: "derivedReceive";
                    scope: string;
                    signers: (import("@xyo-network/sdk").XyoQuantAddress | (Lowercase<string> & {
                        readonly __hex: true;
                    } & {
                        readonly __address: true;
                    }))[];
                })[];
                minCandidates: number;
                backoffMs: number;
            };
        };
        logger?: import("@ariestools/sdk").Logger | undefined;
        meterProvider?: import("@opentelemetry/api").MeterProvider | undefined;
        timeBudgetLimit?: number | undefined;
        traceProvider?: import("@opentelemetry/api").TracerProvider | undefined;
        locator?: ProviderFactoryLocatorInstance<CreatableProviderContextType> | undefined;
    } | undefined;
    (value: unknown, assert: import("@ariestools/sdk").ZodFactoryConfig): {
        singletons: Record<string | symbol, unknown>;
        caches: Record<string, import("@xyo-network/xl1-protocol/protocol-lib").MapType<string, unknown>>;
        config: {
            [x: string]: unknown;
            chain: {
                id?: import("@ariestools/sdk").BrandedHex | undefined;
                genesisRewardAddress?: (Lowercase<string> & {
                    readonly __hex: true;
                } & {
                    readonly __address: true;
                }) | import("@xyo-network/sdk").XyoQuantAddress | undefined;
                deploymentBlock?: number | undefined;
            };
            log: {
                logLevel: "info" | "error" | "warn" | "log" | "debug" | "trace";
                silent: boolean;
            };
            connections: Record<string, {
                root: string;
                type: "lmdb";
                access?: "read" | "write" | undefined;
                store?: string | undefined;
            } | {
                type: "mongo";
                connectionString?: string | undefined;
                database?: string | undefined;
                domain?: string | undefined;
                password?: string | undefined;
                username?: string | undefined;
                collection?: string | undefined;
            } | {
                type: "rpc";
                protocol: string;
                url?: string | undefined;
                networkId?: string | undefined;
                sessionId?: string | undefined;
            } | {
                type: "rest";
                baseUrl: string;
            } | {
                type: "s3";
                bucket?: string | undefined;
                endpoint?: string | undefined;
                prefix?: string | undefined;
                readUrl?: string | undefined;
                accessKeyId?: string | undefined;
                accountId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | {
                type: "evm-rpc";
                url: string;
                chainId?: string | undefined;
                eventQueryBlockChunkSize?: number | undefined;
            } | {
                type: "memory";
            }>;
            providerBindings: Record<string, {
                connection?: string | undefined;
                provider?: string | undefined;
            }>;
            providers: {
                [x: string]: unknown;
                moniker: string;
                labels?: string[] | undefined;
            }[];
            telemetry: {
                metrics?: {
                    scrape: {
                        path: string;
                        port?: number | undefined;
                    };
                } | undefined;
                otel?: {
                    otlpEndpoint?: string | undefined;
                } | undefined;
            };
            validation: {
                signerAuthorizations: ({
                    type: "completedStepReward";
                    signers: (import("@xyo-network/sdk").XyoQuantAddress | (Lowercase<string> & {
                        readonly __hex: true;
                    } & {
                        readonly __address: true;
                    }))[];
                } | {
                    type: "derivedReceive";
                    scope: string;
                    signers: (import("@xyo-network/sdk").XyoQuantAddress | (Lowercase<string> & {
                        readonly __hex: true;
                    } & {
                        readonly __address: true;
                    }))[];
                })[];
                minCandidates: number;
                backoffMs: number;
            };
        };
        logger?: import("@ariestools/sdk").Logger | undefined;
        meterProvider?: import("@opentelemetry/api").MeterProvider | undefined;
        timeBudgetLimit?: number | undefined;
        traceProvider?: import("@opentelemetry/api").TracerProvider | undefined;
        locator?: ProviderFactoryLocatorInstance<CreatableProviderContextType> | undefined;
    };
};
/** Type guard that checks if a value is a valid CreatableProviderContext. */
export declare const isCreatableProviderContext: <T>(value: T) => value is T & {
    singletons: Record<string | symbol, unknown>;
    caches: Record<string, import("@xyo-network/xl1-protocol/protocol-lib").MapType<string, unknown>>;
    logger?: import("@ariestools/sdk").Logger | undefined;
    meterProvider?: import("@opentelemetry/api").MeterProvider | undefined;
    timeBudgetLimit?: number | undefined;
    traceProvider?: import("@opentelemetry/api").TracerProvider | undefined;
} & {
    _id?: string;
    config: LocatorConfig;
    locator: ProviderFactoryLocatorInstance;
    statusReporter?: SystemStatusRunner;
};
/** Converts a value to CreatableProviderContext, throwing if invalid. */
export declare const asCreatableProviderContext: {
    <T>(value: T): (T & {
        singletons: Record<string | symbol, unknown>;
        caches: Record<string, import("@xyo-network/xl1-protocol/protocol-lib").MapType<string, unknown>>;
        logger?: import("@ariestools/sdk").Logger | undefined;
        meterProvider?: import("@opentelemetry/api").MeterProvider | undefined;
        timeBudgetLimit?: number | undefined;
        traceProvider?: import("@opentelemetry/api").TracerProvider | undefined;
    } & {
        _id?: string;
        config: LocatorConfig;
        locator: ProviderFactoryLocatorInstance;
        statusReporter?: SystemStatusRunner;
    }) | undefined;
    <T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
        singletons: Record<string | symbol, unknown>;
        caches: Record<string, import("@xyo-network/xl1-protocol/protocol-lib").MapType<string, unknown>>;
        logger?: import("@ariestools/sdk").Logger | undefined;
        meterProvider?: import("@opentelemetry/api").MeterProvider | undefined;
        timeBudgetLimit?: number | undefined;
        traceProvider?: import("@opentelemetry/api").TracerProvider | undefined;
    } & {
        _id?: string;
        config: LocatorConfig;
        locator: ProviderFactoryLocatorInstance;
        statusReporter?: SystemStatusRunner;
    };
};
/** toCreatableProviderContext constant. */
export declare const toCreatableProviderContext: {
    (value: unknown): CreatableProviderContextType | undefined;
    (value: unknown, assert: import("@ariestools/sdk").ZodFactoryConfig): CreatableProviderContextType;
};
//# sourceMappingURL=CreatableProviderContext.zod.d.ts.map