/**
 * OpenGuardrails plugin configuration and credential management
 */
import type { OpenClawGuardConfig } from "./types.js";
export declare const DEFAULT_CORE_URL: string;
export type CoreCredentials = {
    apiKey: string;
    agentId: string;
    claimUrl: string;
    verificationCode: string;
    email?: string;
    /** The Core URL these credentials were issued by */
    coreUrl?: string;
};
/**
 * Load credentials from disk.
 * If the credentials were issued by a different Core URL, returns null
 * (credentials from production won't work in dev and vice versa).
 *
 * @param configuredCoreUrl - The Core URL from plugin config (openclaw.json).
 *   When provided, credentials are validated against this URL instead of DEFAULT_CORE_URL.
 */
export declare function loadCoreCredentials(configuredCoreUrl?: string): CoreCredentials | null;
export declare function saveCoreCredentials(creds: CoreCredentials, coreUrl?: string): void;
export declare function deleteCoreCredentials(): boolean;
/** @deprecated Use loadCoreCredentials().apiKey instead */
export declare function loadApiKey(): string | null;
export type RegisterResult = {
    credentials: CoreCredentials;
    activateUrl: string;
    loginUrl: string;
};
export declare function registerWithCore(name: string, description: string, coreUrl?: string): Promise<RegisterResult>;
/**
 * Polls Core `/api/v1/account` to learn the agent's verified email.
 * Returns `{ email, status }` if the agent is active, null otherwise.
 */
export declare function pollAccountEmail(apiKey: string, coreUrl?: string): Promise<{
    email: string;
    status: string;
} | null>;
export type ResolvedGuardConfig = Required<Omit<OpenClawGuardConfig, "plan">> & Pick<OpenClawGuardConfig, "plan">;
export declare const DEFAULT_CONFIG: ResolvedGuardConfig;
export type AgentProfile = {
    emoji: string;
    creature: string;
    vibe: string;
    model: string;
    provider: string;
    ownerName: string;
    skills: {
        name: string;
        description?: string;
    }[];
    plugins: {
        name: string;
        enabled: boolean;
    }[];
    hooks: {
        name: string;
        enabled: boolean;
    }[];
    connectedSystems: string[];
    channels: string[];
    sessionCount: number;
    lastActive: string | null;
    workspaceFiles: {
        soul: string;
        identity: string;
        user: string;
        agents: string;
        tools: string;
        heartbeat: string;
    };
    bootstrapExists: boolean;
    cronJobs: Array<{
        id?: string;
        schedule?: string;
        task?: string;
        enabled?: boolean;
    }>;
};
/** @deprecated use readAgentProfile() */
export type AgentInfo = AgentProfile;
/**
 * Reads the full OpenClaw workspace profile from ~/.openclaw/ to report to the dashboard.
 * All fields degrade gracefully — missing files produce empty strings/arrays.
 */
export declare function readAgentProfile(): AgentProfile;
/** @deprecated use readAgentProfile() */
export declare function readAgentInfo(): AgentProfile;
/**
 * Returns file paths that should be watched for changes to trigger a profile re-upload.
 */
export declare function getProfileWatchPaths(openclawDir?: string): string[];
export declare function resolveConfig(config?: Partial<OpenClawGuardConfig>): ResolvedGuardConfig;
//# sourceMappingURL=config.d.ts.map