import * as z from "zod";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * Explicit cell assignment, if it is owned by the account.
 */
export type Cell = {
    /**
     * Explicit cell assignment, if it is owned by the account.
     */
    cell: string;
};
/**
 * Basin scope. It should be formatted as "{cloud}:{region}", e.g. "aws:us-east-1".
 */
export type Scope = {
    /**
     * Basin scope. It should be formatted as "{cloud}:{region}", e.g. "aws:us-east-1".
     */
    scope: string;
};
/**
 * Assignment of the basin to a cloud and region, or an explicit cell.
 */
export type Assignment = Scope | Cell;
/** @internal */
export declare const Cell$inboundSchema: z.ZodType<Cell, z.ZodTypeDef, unknown>;
/** @internal */
export type Cell$Outbound = {
    cell: string;
};
/** @internal */
export declare const Cell$outboundSchema: z.ZodType<Cell$Outbound, z.ZodTypeDef, Cell>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Cell$ {
    /** @deprecated use `Cell$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Cell, z.ZodTypeDef, unknown>;
    /** @deprecated use `Cell$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Cell$Outbound, z.ZodTypeDef, Cell>;
    /** @deprecated use `Cell$Outbound` instead. */
    type Outbound = Cell$Outbound;
}
export declare function cellToJSON(cell: Cell): string;
export declare function cellFromJSON(jsonString: string): SafeParseResult<Cell, SDKValidationError>;
/** @internal */
export declare const Scope$inboundSchema: z.ZodType<Scope, z.ZodTypeDef, unknown>;
/** @internal */
export type Scope$Outbound = {
    scope: string;
};
/** @internal */
export declare const Scope$outboundSchema: z.ZodType<Scope$Outbound, z.ZodTypeDef, Scope>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Scope$ {
    /** @deprecated use `Scope$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Scope, z.ZodTypeDef, unknown>;
    /** @deprecated use `Scope$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Scope$Outbound, z.ZodTypeDef, Scope>;
    /** @deprecated use `Scope$Outbound` instead. */
    type Outbound = Scope$Outbound;
}
export declare function scopeToJSON(scope: Scope): string;
export declare function scopeFromJSON(jsonString: string): SafeParseResult<Scope, SDKValidationError>;
/** @internal */
export declare const Assignment$inboundSchema: z.ZodType<Assignment, z.ZodTypeDef, unknown>;
/** @internal */
export type Assignment$Outbound = Scope$Outbound | Cell$Outbound;
/** @internal */
export declare const Assignment$outboundSchema: z.ZodType<Assignment$Outbound, z.ZodTypeDef, Assignment>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Assignment$ {
    /** @deprecated use `Assignment$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Assignment, z.ZodTypeDef, unknown>;
    /** @deprecated use `Assignment$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Assignment$Outbound, z.ZodTypeDef, Assignment>;
    /** @deprecated use `Assignment$Outbound` instead. */
    type Outbound = Assignment$Outbound;
}
export declare function assignmentToJSON(assignment: Assignment): string;
export declare function assignmentFromJSON(jsonString: string): SafeParseResult<Assignment, SDKValidationError>;
//# sourceMappingURL=assignment.d.ts.map