import type { ShortlinksCredentialChainOptions, ShortlinksEnv } from "./client-types.js"; /** Every env name that can configure a shortlinks authority or credential, resolver-derived. */ export declare function shortlinksAuthorityEnvKeys(): string[]; /** * The environment as the resolver should see it: every authority/credential * variable that is DECLARED BUT BLANK removed. Returns the SAME object when * there is nothing to remove — the ambient-identity case never copies. */ export declare function shortlinksResolverEnv(env: T): T; /** The env object and credential options a shortlinks surface hands @hasna/contracts. */ export interface ShortlinksResolverInputs { /** The environment with every declared-but-blank authority variable removed. */ env: T; /** The chain options, with the Keychain tier's ambient gate already decided. */ credentials: ShortlinksCredentialChainOptions; } /** * Build the resolver's inputs: the normalised environment AND the credential * options that keep the machine's Keychain tier reachable across it. See the * module header for why the gate travels with the copy (hasna/apps#1788). */ export declare function shortlinksResolverInputs(env: T, credentials?: ShortlinksCredentialChainOptions): ShortlinksResolverInputs;