import type { CustomFetch } from '@n8n/backend-network';
import type { ICredentialDataDecryptedObject } from 'n8n-workflow';
export type AuthFetchDomainPolicy = {
    mode: 'domains';
    domains: string;
} | {
    mode: 'none';
};
interface CreateAuthFetchOptions {
    baseFetch: CustomFetch;
    initialHeaders: Record<string, string>;
    onUnauthorized?: () => Promise<Record<string, string> | null>;
    allowedDomains?: AuthFetchDomainPolicy;
}
export declare function resolveAllowedDomains(credentialData: ICredentialDataDecryptedObject): AuthFetchDomainPolicy | undefined;
export declare function createAuthFetch({ baseFetch, initialHeaders, onUnauthorized, allowedDomains, }: CreateAuthFetchOptions): typeof fetch;
export {};
