import * as z from "zod";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { NoteContentApiModel, NoteContentApiModel$Outbound } from "./notecontentapimodel.js";
export type Note4 = {};
/**
 * The source value of the notes visibility.
 */
export type NoteSourceValue = Note4 | string | number | boolean | Array<any>;
/**
 * The visibility of the notes.
 */
export declare enum NoteValue {
    Private = "private",
    Public = "public",
    UnmappedValue = "unmapped_value"
}
/**
 * The visibility of the notes.
 */
export type NoteValueOpen = OpenEnum<typeof NoteValue>;
/**
 * Visibility of the note
 */
export type NoteVisibility = {
    /**
     * The source value of the notes visibility.
     */
    sourceValue?: Note4 | string | number | boolean | Array<any> | null | undefined;
    /**
     * The visibility of the notes.
     */
    value?: NoteValueOpen | null | undefined;
};
export type Note = {
    /**
     * Unique identifier of the author
     */
    authorId?: string | null | undefined;
    content?: Array<NoteContentApiModel> | null | undefined;
    /**
     * Date of creation
     */
    createdAt?: Date | null | undefined;
    /**
     * Date of Deletion
     */
    deletedAt?: Date | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * Provider's unique identifier of the author
     */
    remoteAuthorId?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * Custom Unified Fields configured in your StackOne project
     */
    unifiedCustomFields?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * Date of last update
     */
    updatedAt?: Date | null | undefined;
    /**
     * Visibility of the note
     */
    visibility?: NoteVisibility | null | undefined;
};
/** @internal */
export declare const Note4$inboundSchema: z.ZodType<Note4, z.ZodTypeDef, unknown>;
/** @internal */
export type Note4$Outbound = {};
/** @internal */
export declare const Note4$outboundSchema: z.ZodType<Note4$Outbound, z.ZodTypeDef, Note4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Note4$ {
    /** @deprecated use `Note4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Note4, z.ZodTypeDef, unknown>;
    /** @deprecated use `Note4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Note4$Outbound, z.ZodTypeDef, Note4>;
    /** @deprecated use `Note4$Outbound` instead. */
    type Outbound = Note4$Outbound;
}
export declare function note4ToJSON(note4: Note4): string;
export declare function note4FromJSON(jsonString: string): SafeParseResult<Note4, SDKValidationError>;
/** @internal */
export declare const NoteSourceValue$inboundSchema: z.ZodType<NoteSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type NoteSourceValue$Outbound = Note4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const NoteSourceValue$outboundSchema: z.ZodType<NoteSourceValue$Outbound, z.ZodTypeDef, NoteSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace NoteSourceValue$ {
    /** @deprecated use `NoteSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<NoteSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `NoteSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<NoteSourceValue$Outbound, z.ZodTypeDef, NoteSourceValue>;
    /** @deprecated use `NoteSourceValue$Outbound` instead. */
    type Outbound = NoteSourceValue$Outbound;
}
export declare function noteSourceValueToJSON(noteSourceValue: NoteSourceValue): string;
export declare function noteSourceValueFromJSON(jsonString: string): SafeParseResult<NoteSourceValue, SDKValidationError>;
/** @internal */
export declare const NoteValue$inboundSchema: z.ZodType<NoteValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const NoteValue$outboundSchema: z.ZodType<NoteValueOpen, z.ZodTypeDef, NoteValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace NoteValue$ {
    /** @deprecated use `NoteValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<NoteValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `NoteValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<NoteValueOpen, z.ZodTypeDef, NoteValueOpen>;
}
/** @internal */
export declare const NoteVisibility$inboundSchema: z.ZodType<NoteVisibility, z.ZodTypeDef, unknown>;
/** @internal */
export type NoteVisibility$Outbound = {
    source_value?: Note4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const NoteVisibility$outboundSchema: z.ZodType<NoteVisibility$Outbound, z.ZodTypeDef, NoteVisibility>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace NoteVisibility$ {
    /** @deprecated use `NoteVisibility$inboundSchema` instead. */
    const inboundSchema: z.ZodType<NoteVisibility, z.ZodTypeDef, unknown>;
    /** @deprecated use `NoteVisibility$outboundSchema` instead. */
    const outboundSchema: z.ZodType<NoteVisibility$Outbound, z.ZodTypeDef, NoteVisibility>;
    /** @deprecated use `NoteVisibility$Outbound` instead. */
    type Outbound = NoteVisibility$Outbound;
}
export declare function noteVisibilityToJSON(noteVisibility: NoteVisibility): string;
export declare function noteVisibilityFromJSON(jsonString: string): SafeParseResult<NoteVisibility, SDKValidationError>;
/** @internal */
export declare const Note$inboundSchema: z.ZodType<Note, z.ZodTypeDef, unknown>;
/** @internal */
export type Note$Outbound = {
    author_id?: string | null | undefined;
    content?: Array<NoteContentApiModel$Outbound> | null | undefined;
    created_at?: string | null | undefined;
    deleted_at?: string | null | undefined;
    id?: string | null | undefined;
    remote_author_id?: string | null | undefined;
    remote_id?: string | null | undefined;
    unified_custom_fields?: {
        [k: string]: any;
    } | null | undefined;
    updated_at?: string | null | undefined;
    visibility?: NoteVisibility$Outbound | null | undefined;
};
/** @internal */
export declare const Note$outboundSchema: z.ZodType<Note$Outbound, z.ZodTypeDef, Note>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Note$ {
    /** @deprecated use `Note$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Note, z.ZodTypeDef, unknown>;
    /** @deprecated use `Note$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Note$Outbound, z.ZodTypeDef, Note>;
    /** @deprecated use `Note$Outbound` instead. */
    type Outbound = Note$Outbound;
}
export declare function noteToJSON(note: Note): string;
export declare function noteFromJSON(jsonString: string): SafeParseResult<Note, SDKValidationError>;
//# sourceMappingURL=note.d.ts.map