export type MicrophoneStopRecordingBoundary = "input" | "contract" | "governance" | "scope" | "provider";
export type MicrophoneStopRecordingGate = {
    accepted?: boolean;
    allowed?: boolean;
    reason?: string;
};
export type MicrophoneStopRecordingContext = {
    runtimeId?: string;
    sessionId?: string;
    invocationId?: string;
    dryRun?: boolean;
    guard?: MicrophoneStopRecordingGate;
    contract?: MicrophoneStopRecordingGate;
    governance?: MicrophoneStopRecordingGate;
    requestedScopes?: readonly string[];
    allowedScopes?: readonly string[];
    auditMetadata?: Readonly<Record<string, unknown>>;
};
export type MicrophoneStopRecordingTarget = {
    recordingId: string;
    deviceId?: string;
    persistHint?: string;
    releaseDevice: boolean;
};
export type MicrophoneStopRecordingProviderRequest = {
    operation: "computeruse.microphoneStopRecording.stop";
    target: MicrophoneStopRecordingTarget;
    context: {
        runtimeId?: string;
        sessionId?: string;
        invocationId?: string;
        auditMetadata?: Readonly<Record<string, unknown>>;
    };
    purpose: string;
};
export type MicrophoneStopRecordingProviderResult = {
    artifactId: string;
    mimeType: string;
    metadata?: Readonly<Record<string, unknown>>;
};
export type MicrophoneStopRecordingProvider = (request: MicrophoneStopRecordingProviderRequest) => Promise<MicrophoneStopRecordingProviderResult> | MicrophoneStopRecordingProviderResult;
export type MicrophoneStopRecordingRequest = {
    target?: unknown;
    context?: unknown;
    recordingId?: unknown;
    deviceId?: unknown;
    persistHint?: unknown;
    releaseDevice?: unknown;
    purpose?: unknown;
    metadata?: unknown;
    provider?: MicrophoneStopRecordingProvider;
};
export type MicrophoneStopRecordingErrorCode = "INVALID_REQUEST" | "INVALID_CONTEXT" | "INVALID_TARGET" | "MISSING_RUNTIME_ID" | "MISSING_PURPOSE" | "MISSING_RECORDING_ID" | "INVALID_RECORDING_ID" | "INVALID_DEVICE_ID" | "INVALID_PERSIST_HINT" | "INVALID_RELEASE_DEVICE" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "SCOPE_DENIED" | "PROVIDER_UNAVAILABLE" | "PROVIDER_FAILURE";
export type MicrophoneStopRecordingError = {
    code: MicrophoneStopRecordingErrorCode;
    message: string;
    boundary: MicrophoneStopRecordingBoundary;
    publicSafe: true;
    safeForRuntimeInspection: true;
    internalDetailExposed: false;
};
export type MicrophoneStopRecordingAuditEvent = {
    type: string;
    toolId: "computeruse.microphoneStopRecording";
    invocationId: string;
    dryRun: boolean;
    recordingId?: string;
    metadata: Readonly<Record<string, unknown>>;
};
export type MicrophoneStopRecordingOutput = {
    kind: "agentCore.basicTool.computeruse.microphoneStopRecording";
    target: MicrophoneStopRecordingTarget;
    purpose: string;
    dispatch: "dry-run" | "runtime-computeruse";
    dryRun: boolean;
    providerCalled: boolean;
    executionBlocked: boolean;
    unsafeSideEffects: true;
    permissionsRequired: readonly ("microphone:record" | "recording:session" | "artifact:write" | "microphone:permission-release")[];
    requiresTapApproval: true;
    acceptedScopes: readonly string[];
    runtimeEntry: {
        port: "BaseToolExecutorPort.computeruse.stopRecording";
        operation: "computeruse.microphoneStopRecording.stop";
        runtimeOwnsRecordingSession: true;
        runtimeOwnsArtifactStorage: true;
        runtimeOwnsDeviceCleanup: true;
        baseToolOwnsTapStrategy: false;
    };
    recordingEnvelope: {
        resource: "microphone";
        stopped: boolean;
        artifactCreated: boolean;
        metadataOnly: boolean;
        recordingId: string;
        artifactId?: string;
        mimeType?: string;
    };
    providerMetadata?: Readonly<Record<string, unknown>>;
};
export type MicrophoneStopRecordingResult = {
    ok: true;
    toolId: "computeruse.microphoneStopRecording";
    output: MicrophoneStopRecordingOutput;
    audit: readonly MicrophoneStopRecordingAuditEvent[];
    events: readonly string[];
} | {
    ok: false;
    toolId: "computeruse.microphoneStopRecording";
    error: MicrophoneStopRecordingError;
    audit: readonly MicrophoneStopRecordingAuditEvent[];
    events: readonly string[];
};
export declare const microphoneStopRecordingDescriptor: {
    readonly toolId: "computeruse.microphoneStopRecording";
    readonly capability: "stop-microphone-recording";
    readonly route: "agent_executionEngine.basic_toolLayer.baseTools.computeruseBase.microphoneAccess";
    readonly defaultDryRun: true;
    readonly defaultReleaseDevice: true;
    readonly allowedPersistHintSchemes: readonly ["artifact://", "session://", "runtime://", "memory://"];
    readonly tapOwnsApproval: true;
    readonly runtimeEntry: "BaseToolExecutorPort.computeruse.stopRecording";
    readonly unsafeSideEffects: true;
};
export declare function executeMicrophoneStopRecording(request?: unknown): Promise<MicrophoneStopRecordingResult>;
export declare function planMicrophoneStopRecording(request?: unknown): Promise<MicrophoneStopRecordingResult>;
